AngularJS をセットアップしましたresource
:
app.factory('gridData', function($resource) {
var csrf = 'asdf';
return $resource('/my/url/:expID', {expID:'@id'},{
get: {method:'GET'},
query: {method:'GET', isArray:true},
save:{method:'POST', headers: {'X-CSRFToken' : csrf }}
});
});
リソースをコントローラーに注入し、gridData
それを使用してサーバーからデータを取得しています。
gridData.query(function(result) {
console.log("result is");
console.log(result);
$scope.data = result;
});
このアプローチは、AngularJS 1.3 を使用するとうまく機能します。console.log(result)
ステートメントは、受信した実際のデータを出力します。
今、AngularJS 1.2.11 にダウングレードしようとしましたが、この図console.log(result)
に示すように、promise が出力されてから問題が発生しています。結果は約束に設定されていますが、実際のデータが利用可能な場合にのみ $scope.data を設定する必要があります。$scope.data
これは、1.3 から 1.2 の間の一部のバージョンで、Promise が Angular に導入されたためです。この状況を処理する方法/約束を正しく処理する方法はありますか?