後,可以說,我已經得到了下面的代碼,呼叫下一個迭代每個回調
function someFunction(){
var i = 0;
while (i < 10){
someAsyncProcess(someField, function(err, data){
i++;
// i want the next iteration of the while loop to occur after this
}
}
}
的someAsyncProcess運行,增量「我」。
但是,由於JavaScript的異步特性,while循環在i = 10之前運行了數千次。如果我想讓while循環正好運行10次,該怎麼辦?如果我希望while循環僅在回調函數完成執行後才執行代碼。
是否有可能沒有setTimeout函數做到這一點?
請注意,我還是比較新的JavaScript,所以如果我錯誤地使用任何行話,糾正我。
'while'是同步的循環迭代。您無法等到異步過程完成。在這種情況下,你不能使用'while'循環。 –
任何替代品? –
遞歸,帶有promise的遞歸,rxjs – smnbbrv