0
我只是想問一下關於$ http和promise的用法,我似乎對如何正確使用它有一個問題的理解,我已經準備好了一些線程和如何實現的指南,我可能誤解了但這是我所做的。我儘可能簡單地讓它掌握它。
this.getAll = function(){
var details = [];
var deffered = $q.defer();
var promise = $http.get('../test_data/patient_list.json');
promise.then(function(response){
$log.debug(response.data);
angular.copy(response.data, details);
details = response.data
});
return details;
};
期間promise.then()
數據確實存在,但是當我嘗試後promise.then
調用它複製到另一個陣列details
是空的。怎麼來的? IM現在有點糊塗了,任何人都可以點或教我如何妥善處理$http
喔但哪裏「遞延」進來這幅畫? – lemoncodes
@lemoncodes推遲是處理promiese的另一種方式,尤其是當您將某個回調函數或非promise函數調用包裝爲承諾時。默認情況下,$ http.get()返回一個承諾,所以我們不需要$ q.defer() –
是的,我試過上面的代碼,但是當我返回「細節」時,它返回了承諾,我預計實際數據要返回?,我想我誤解了代碼的返回部分.. – lemoncodes