【发布时间】:2014-02-24 21:31:19
【问题描述】:
$q.all 无法在 AngularJS 中解析,我遇到了困难。我可能没有正确描述事情,但这至少是场景。
服务
app.factory('myService', function($http){
return {
get: function () {
return $http.get('http://localhost:8001/');
}
};
});
在控制器中
angular.forEach(array, function(item){
promises.push({foo:myService.get(), bar: item});
});
$q.all(promises).then(function(results){
$log.info(results);
$scope.results = results;
});
在视图中,从bar 获取值的任何内容都会正确显示。但是,任何从 foo 获取其值的内容都是空白的。在控制台中,bar 是您所期望的可检查对象。但是foo 仍然是一个承诺。它具有承诺的所有方法,但没有关联数据。
因此,不知何故,当结果应用于$scope 时,$q.all 并没有得到解决。为什么,我不确定。
我会注意到,我在上面所做的事情是基于这里的内容:angular.forEach and objects
【问题讨论】: