我有一个for循环,它调用一个带有循环变量的函数作为参数。我需要for循环等到第一次调用执行,然后再下一次
for(i=1;i<6;i++){
demo($firstFrame,i)
}
我们如何让for循环等待。
演示函数在那里有超时,显然for循环必须在第二次调用函数之前等待。
答案 0 :(得分:2)
var demo = function(name, index, onCompleteFunc){
/**do staff**/
onCompleteFunc();// exec this func when you are done.
};
var iterator = function(iteration){
if(iteration >= 0){
demo($firstFrame, iteration, function(){
iterator(iteration-1);
});
}
}
iterator(5);//this function start recurcively execute demo with indexes from 5 to 0
答案 1 :(得分:1)
使用recurcive功能;
demo($firstFrame,1)
function demo(firstFrame,i){
if(i<6){
//do something
i++;
setTimeout(function(){
demo(firstFrame,i);
},1000)
}
}