我是 AngularJS 的新手,所以请温柔一点。
我想使用 AngularJS 的 $resource 属性从后端检索数据,但是似乎在实际调用完成之前该属性已被加载。
目前我有以下代码:
控制器:
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;
});
但是在我想在 $scope.cars 中存储 carsRes.cars.get() 的时候,调用还没有完成,console.log 告诉我 $resolved 仍然是错误的。
我怎样才能等待电话得到解决?我读过一些关于 $q 的东西,但对我来说并不是很清楚。