鍍金池/ 問答/HTML5  HTML/ js怎么保證順序依次執(zhí)行數(shù)組里面函數(shù)

js怎么保證順序依次執(zhí)行數(shù)組里面函數(shù)

每一個函數(shù)得出結(jié)果后渲染不同class,所以需要依次執(zhí)行,并且有些需要傳入?yún)?shù),類似下面結(jié)構(gòu),怎么保證case1執(zhí)行完后才執(zhí)行case2,case個數(shù)不確定?

  let case1 = function(){
    console.log('case11');
  }
  let case2 = function(){
    console.log('case22'); 
  }
  let case3 = function(){
    console.log('case33');
  }
  const caseList = [
    case1,case2,case3,....
  ];
回答
編輯回答
尤禮

可以試一試async

2018年4月5日 14:56
編輯回答
悶騷型

如果那函數(shù)里面有異步操作,可以使用Promise,如果沒有,就會順序執(zhí)行

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]()
    }
}

以上思路大概就這樣,具體代碼實現(xiàn)看自己,幫你寫個偽代碼

2017年2月14日 00:17
編輯回答
醉淸風(fēng)

最粗暴的方法就是封裝回調(diào)函數(shù)

promise和generator是一個優(yōu)雅一些的解決方法。

但是,如果你的函數(shù)里面沒有異步操作,依此調(diào)用那就肯定是順序執(zhí)行的了。

2018年2月23日 17:32
編輯回答
哚蕾咪

試試改造為PromiseGenerator..

2018年2月26日 16:48