0

我的工厂看起来像这样:

MyApp.factory("Hello", function(Restangular, $q){
var theConfig = function() {
   var deferred = $q.defer();
   Restangular.one('AllSettings').get().then(function(data){
       var theData = return {
          config1: data.config1,
          config2: data.config2
       }
       deferred.resolve(data);
   });

   return deferred.promise;
   };
    return{
        config : theConfig()
    };
});

我已经使用了延迟,但它仍然没有返回需要执行的对象。如何解决这个问题?

4

1 回答 1

1

您返回的是一个承诺,而不是传递给deferred.resolve. 您是否正在访问这样的数据?

MyApp.controller('WhateverController', function(Hello) {
  Hello.config.then(function(data) {
    // Do something with the data passed to deferred.resolve
  });
});
于 2013-10-27T17:05:52.337 回答