一旦我調用的函數完成對服務器的調用,我想要做一些處理。Angularjs:使用返回承諾的函數
我想:
vm.myFunction().$promise.then(function(){
//some treatment done once vm.myFunction() is finished....
})
vm.myFunction = function(){
var deferred = $q.defer();
myResource.get(function(result){
vm.results = result;
for (var i=0; i<vm.results.length;i++){
if (vm.results[i].state == 'open'){
deferred.resolve();
return deferred.promise;
}
}
})
};
但我是個得到一個
angular.js:13294 TypeError: Cannot read property '$promise' of undefined
我怎麼能這樣做?
回myResource.get(FUNC ...... – rrd
你沒有從函數return myResource.get()中返回任何東西,也沒有任何情況你會拒絕它 - 只是爲了確保你不會無限期地等待或者增加超時 – harishr
你只要返回'myRe source.get(// code)'函數。因爲你已經回覆了諾言,所以不需要使用'$ promise'。 – SaiUnique