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,....
  ];
阅读 4.3k
4 个回答

试试改造为PromiseGenerator..

最粗暴的方法就是封装回调函数

promise和generator是一个优雅一些的解决方法。

但是,如果你的函数里面没有异步操作,依此调用那就肯定是顺序执行的了。

可以试一试async

如果那函数里面有异步操作,可以使用Promise,如果没有,就会顺序执行

for(let i =0; i <= arr.length; i ++){
    new Promise((resolve, reject) => {
        resolve(arr[i]())
    })
}

或者可以尝试一下async和await

async function activeClass() {
    for(let i =0; i <= arr.length; i ++){
        await arr[i]()
    }
}

以上思路大概就这样,具体代码实现看自己,帮你写个伪代码

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题