У меня проблемы с тем, что $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
по-прежнему обещание. У него есть все методы, которые были бы обещаны, но нет связанных данных.
Итак, каким-то образом $q.all не разрешается к тому времени, когда результаты применяются к $scope
. И почему, я не уверен.
Я отмечу, что я основывал то, что делаю выше, на том, что здесь: angular.forEach и объекты