我试图运行异步for循环,它运行同步函数然后等待一段时间。我的代码是:
function loopExec (i,imax, execFunc,param1) {
execFunc(i,param1);//Launch synchronous function which takes some time
var y=i+1;
if (y < imax) { // if the counter < imax, call the loop function
setTimeout(function () { // call a 0.1s setTimeout when the loop is called
loopExec(y,imax, execFunc,param1); // .. again which will trigger another call
}, 100);
}
else if(y==imax){
anotherFunction(param1);// The loop is over, clean up and log
}
}
我想要的行为是: execFunc(1) - &gt;等待100ms - &gt; execFunc2-&GT;等待... A bit like this
我所拥有的行为是execFunc1,execFunc2等,所有这些都以100毫秒的间隔启动,而不等待前一个的完成,导致读/写冲突,因为这些函数与文件交互。
我不知道这与它有什么关系,但我使用的是电子/ nodeJS。