猿问

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,....

  ];


眼眸繁星
浏览 600回答 4
4回答

慕桂英546537

试试改造为Promise或Generator..

一只甜甜圈

最粗暴的方法就是封装回调函数promise和generator是一个优雅一些的解决方法。但是,如果你的函数里面没有异步操作,依此调用那就肯定是顺序执行的了。

LEATH

可以试一试async

慕丝7291255

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

相关分类

JavaScript
我要回答