如何在執行三個異步函數後實現一個函數?我的解決方法是全球計數器。執行所有異步函數後執行函數
我的問題詳細: 當保存功能被調用時,3個異步webapi調用將發送更改的數據到服務器。之後,我需要調用一個打印和記錄的函數,例如保存命令是成功的。
這是我目前的解決方法。但它似乎不是很好。有時計數器值不正確。
function save() {
callwebapi1(parameters, function (dataOnSuccess) { counter = counter - 1; canMethodBeExecuted(); });
callwebapi2(parameters, function (dataOnSuccess) { counter = counter - 1; canMethodBeExecuted(); });
callwebapi3(parameters, function (dataOnSuccess) { counter = counter - 1; canMethodBeExecuted(); });
}
function canMethodBeExecuted() {
if (counter < 0) {
counter = 3;
functionToExecuteAfterSaveIsFinished();
}
}
有沒有比上述更好的解決方案?
'$ q.all'是解決方案。請參閱文檔。 – Chandermani 2014-09-11 10:31:07