在js怎么保证顺序依次执行数组里面的函数?

每一个函数得出结果后渲染不同class,所以需要依次执行,并且有些需要传入参数,类似下面结构,怎么保证case1执行完后才执行case2,case个数不确定?

  let case1 = function(){    console.log('case11');
  }  let case2 = function(){    console.log('case22'); 
  }  let case3 = function(){    console.log('case33');
  }  const caseList = [
    case1,case2,case3,....
  ];


一只甜甜圈
浏览 1791回答 3
3回答

子衿沉夜

试试改造为Promise或Generator..

千万里不及你

如果那函数里面有异步操作,可以使用Promise,如果没有,就会顺序执行for(let&nbsp;i&nbsp;=0;&nbsp;i&nbsp;<=&nbsp;arr.length;&nbsp;i&nbsp;++){ &nbsp;&nbsp;&nbsp;&nbsp;new&nbsp;Promise((resolve,&nbsp;reject)&nbsp;=>&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resolve(arr[i]()) &nbsp;&nbsp;&nbsp;&nbsp;}) }或者可以尝试一下async和awaitasync&nbsp;function&nbsp;activeClass()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;for(let&nbsp;i&nbsp;=0;&nbsp;i&nbsp;<=&nbsp;arr.length;&nbsp;i&nbsp;++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;await&nbsp;arr[i]() &nbsp;&nbsp;&nbsp;&nbsp;} }以上思路大概就这样,具体代码实现看自己,帮你写个伪代码

狐的传说

最粗暴的方法就是封装回调函数promise和generator是一个优雅一些的解决方法。但是,如果你的函数里面没有异步操作,依此调用那就肯定是顺序执行的了。
打开App,查看更多内容
随时随地看视频慕课网APP