假设我有一个函数如下:
现在我想让这个函数在所有条件都执行其预期的任务后,才能移动到FOR循环的下一个迭代。换句话说,在FOR循环中的
目前,这段代码的行为非常随机(因为我认为是由于
我最近读到了promise(不太了解它们),但我不确定如何在此代码中实现它们,或者它们是否适用于此情况......
var bigArray = [1,2,3,4,5.........n];
for(var i=0; i<bigArray.length; i++){
if(someCondition){
setTimeout(function(){
..do_stuff..
callSomeFunction();
}, someDelayTime);
}
if(someCondition){
setTimeout(function(){
..do_stuff..
callSomeFunction();
}, someDelayTime);
}
if(someCondition){
setTimeout(function(){
..do_stuff..
callSomeFunction();
}, someDelayTime);
}
.
.
.
.
.
.
.
.
if(someCondition){
setTimeout(function(){
..do_stuff..
callSomeFunction();
}, someDelayTime);
}
}
现在我想让这个函数在所有条件都执行其预期的任务后,才能移动到FOR循环的下一个迭代。换句话说,在FOR循环中的
i = 0
应该更改为i = 1
等等,只有当FOR循环中的所有条件在当前迭代中完成了它们的工作时才会发生。目前,这段代码的行为非常随机(因为我认为是由于
setTimeout
)。如何使此代码按照我的期望工作?我最近读到了promise(不太了解它们),但我不确定如何在此代码中实现它们,或者它们是否适用于此情况......