我有一個for循環調用一個異步函數。我需要這個函數然後在for循環結束時調用一個回調函數,但是隻有當所有的異步函數都返回結果時纔會調用回調函數。我試過這個:for循環退出回調完成之前
for(var i = 0; i < vaccinsCount; i++){
getVaccinAddress(i, address, provider, function(result){
if(result.success){
console.log("result:" + result.values);
vaccines.push(result.values);
} else {
callback({success: false, message: result.message});
}
});
}
callback({success: true, values: vaccines});
取而代之的是代碼進入for循環,然後調用然後異步函數然後直接退出。我怎麼能解決這個問題?
getVaccinAddress是執行服務器調用的異步函數。
編輯
我使用的NodeJS,因此解決的辦法就是再使用藍鳥,但是我對如何與藍鳥實現這個不知道。
搜索,以便與谷歌的環異步 – mplungjan
我已經和我還是不要不明白我怎麼能使它工作。 –
你的代碼不完整,getVaccinAddress函數中有什麼? –