Как в angularjs из Factory выудить объект Promise

Рейтинг: 0Ответов: 0Опубликовано: 06.02.2023

Вот пример того, что я пытался реализовать

есть такая фабрика:

export default app.factory('mainFactory', $http => {
      return {
        getConfig: (cr) => $http({ method: 'GET', url: '/main-conf' }).then(res => cr = res.data, error => console.log(error))
      }
});

Далее контроллер в котором я хочу эти данные использовать

import app from '../../main-module/index.js';

export default app.controller('mainCtrl', [
  '$scope',
  '$http',
  'mainFactory',
  '$window',
  ($scope, $http, mainFactory, $window) => {

    $scope.reloadRoute = () => $window.location.reload();
    $scope.mainFactory = mainFactory;
    
    console.log('$scope.mainFactory', $scope.mainFactory.getConfig($scope.mainConf2));
  }
]);

В итоге получаю вот такое

введите сюда описание изображения

а если реализовать все в котроллере то все ок

пример

   import app from '../../main-module/index.js'; 
    export default app.controller('mainCtrl', [
      '$scope',
      '$http',
      'mainFactory',
      '$window',
      ($scope, $http, mainFactory, $window) => {
        $scope.reloadRoute = () => $window.location.reload();
        $scope.mainConf;
        $http({ method: 'GET', url: '/main-conf' }).then(res => $scope.mainConf = res.data, error => console.log(error));
    
        console.log('$scope.mainConf', $scope.mainConf);
      }
   ]);

результат

введите сюда описание изображения

Что я делаю не так? Как мне в первом примере получить результат второго примера? Благодарю заранее

Ответы

Ответов пока нет.