从Restangular Promises返回数据

时间:2013-10-27 15:42:11

标签: angularjs restangular

我的工厂看起来像这样:

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()
    };
});

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

1 个答案:

答案 0 :(得分:1)

您要返回的是承诺,而不是传递到deferred.resolve的实际数据。您是否正在访问这样的数据?

MyApp.controller('WhateverController', function(Hello) {
  Hello.config.then(function(data) {
    // Do something with the data passed to deferred.resolve
  });
});