第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何等到 Javascript forEach 循環(huán)完成后再進(jìn)行下一個(gè) sep

如何等到 Javascript forEach 循環(huán)完成后再進(jìn)行下一個(gè) sep

慕慕森 2021-12-02 16:17:23
在調(diào)用另一個(gè)函數(shù)來(lái)重新加載應(yīng)由 axios 調(diào)用更新的數(shù)據(jù)之前,我需要等待由 forEach 循環(huán)調(diào)用的函數(shù)中的所有 axios 調(diào)用運(yùn)行。function1() {    let arr = [1, 2, 3, 4, 5];    arr.forEach((num) => {        function2(num);    });    //Wait until each call in the forEach loop above    //is done before running the function3() function.    function3();}function2(number) {    axios.post('/internal-url/action/' + number)        .then((response) => {            return response;        });}function3() {    console.log('reloading data...');    /* DB call to reload data */    console.log('data is reloaded');}這里的問(wèn)題是數(shù)據(jù)在 axios 調(diào)用完成之前重新加載。我知道 axios 調(diào)用有效,因?yàn)槲铱梢钥吹剿鼈冊(cè)跀?shù)據(jù)庫(kù)中更新,但我需要function1()等待所有 axios 調(diào)用function2()完成,然后才能在function3().我曾嘗試同時(shí)創(chuàng)建function1()和function2() async/await運(yùn)行,然后單獨(dú)運(yùn)行,但這不起作用。我將如何具體執(zhí)行此操作?
查看完整描述

3 回答

?
森林海

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊

創(chuàng)建一個(gè)承諾數(shù)組,然后Promise.all使用async/await.


// async/await - create an array of promises

// from function2, then await until Promise.all has

// fully resolved/rejected

async function1() {

  let arr = [1, 2, 3, 4, 5];

  const promises = arr.map((num) => function2(num));

  await Promise.all(promises);

  function3();

}


function2(number) {

  return axios.post('/internal-url/action/' + number);

}


function3() {

  console.log('reloading data...');

  /* DB call to reload data */

  console.log('data is reloaded');

}


查看完整回答
反對(duì) 回復(fù) 2021-12-02
?
寶慕林4294392

TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊

最好的解決方案是使用,Promise.all以便所有請(qǐng)求都可以并行進(jìn)行。這看起來(lái)像這樣。


function1() {

    let arr = [1, 2, 3, 4, 5];

    Promise.all(arr.map((num) => function2(num))).then(() => {

        function3();

    });

}

這將等到所有function2返回的 Promise都已解決,然后再調(diào)用function3.


查看完整回答
反對(duì) 回復(fù) 2021-12-02
?
哈士奇WWW

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊

也許是這樣的:


const arr = [1, 2, 3, 4, 5];

let index = 0;

const answers = [];

(function loop() {

    const value = arr[index];

    function2(value).then(res => {

        answers.push(res);

    });

    index++;

    if (index < arr.length) {

        loop();

    }

})();

function3();

console.log(answers);


查看完整回答
反對(duì) 回復(fù) 2021-12-02
  • 3 回答
  • 0 關(guān)注
  • 1512 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)