私は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;
});
しかし、carsRes.cars.get() を $scope.cars に保存したい時点で、呼び出しはまだ完了しておらず、console.log は $resolved がまだ false であることを示しています。
通話が解決されるまでどのように待つことができますか? $q について読んだことがありますが、よくわかりません。