后,可以说,我已经得到了下面的代码,呼叫下一个迭代每个回调
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