Я новичок в AngularJS, поэтому будьте осторожны.
Я хочу получить данные из своего бэкэнда, используя свойство $resource AngularJS, однако кажется, что это свойство загружается до завершения фактического вызова.
В настоящее время у меня есть следующий код:
Контроллер:
MyApp.controller('IndexCtrl', function IndexCtrl($scope, socket, carsRes) {
console.log(carsRes.cars.get());
$scope.cars = carsRes.cars.get();
});
Фабрика
.factory('carsRes', function($resource) {
var result = {};
result.cars = $resource('/cars/:id', {}, {
'get': {method: 'GET'},
'save': {method: 'POST'},
'query': {method: 'GET', isArray: true},
'remove': {method: 'DELETE'},
'delete': {method: 'DELETE'}
});
return result;
});
Но в тот момент, когда я хочу сохранить carsRes.cars.get() в $scope.cars, вызов еще не завершен, и console.log сообщает мне, что $resolved по-прежнему ложно.
Как я могу дождаться разрешения вызова? Я кое-что читал о $q, но мне это не очень понятно.
carsRes.cars.get(function(data){ $scope.cars = data.doc; });
Это правильное решение? - person DirkZz   schedule 13.04.2013