如何使循环等待函数在javascript中执行

时间:2015-08-05 05:44:31

标签: javascript for-loop

我有一个for循环,它调用一个带有循环变量的函数作为参数。我需要for循环等到第一次调用执行,然后再下一次

for(i=1;i<6;i++){
 demo($firstFrame,i)
}

我们如何让for循环等待。

演示函数在那里有超时,显然for循环必须在第二次调用函数之前等待。

2 个答案:

答案 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)
    }
}