如何让for循环等待一个函数在javascript中执行

how to make for loop wait for a function to execute in javascript

本文关键字:函数 一个 javascript 执行 for 循环 等待      更新时间:2023-09-26

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

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

如何让for循环等待。

demo函数中有一个timeout,显然for循环在第二次调用该函数之前必须等待。

     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
使用递归函数;
demo($firstFrame,1)
function demo(firstFrame,i){
    if(i<6){
       //do something
       i++;
       setTimeout(function(){
          demo(firstFrame,i);
       },1000)
    }
}