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

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何執(zhí)行并行請求并返回包含 Javascript 中所有并行響應(yīng)的對象?

如何執(zhí)行并行請求并返回包含 Javascript 中所有并行響應(yīng)的對象?

慕姐4208626 2022-10-21 14:38:26
所以我知道我可以發(fā)出并行請求并在 Javascript / ReactNative 中使用Promise.all()or等待它Promise.allSettled():await Promise.all([    request1(),    request2(),    request3(),]);但是如果我想做這樣的事情怎么辦:var result = {}await Promise.all([    result["response1"] = request1(),    result["response2"] = request2(),    result["response3"] = request3()]);return result;目前我做這樣的解決方法:request1 = async() => {    return client.post(....).then(async(response) => {        this.request1response = response        return response    })}// same thing with request2() and request3()parallelRequest = async() => {    var result = {}    await Promise.all([        request1(),        request2(),        request3()    ]);    result["response1"] = this.request1response    result["response2"] = this.request2response    result["response3"] = this.request3response    delete this.request1response    delete this.request2response    delete this.request3response    return result;}但我認(rèn)為這是一個糟糕的模式,容易出現(xiàn)錯誤(如果 parallelRequest 被快速連續(xù)多次調(diào)用),我想尋求一種更好的方法來實(shí)現(xiàn)這一點(diǎn)。
查看完整描述

1 回答

?
DIEA

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超3個贊

你應(yīng)該這樣做:


const parallelRequest = async () => {

  const [response1, response2, response3] = await Promise.all([

    request1(),

    request2(),

    request3(),

  ]);

  const result = { response1, response2, response3 };

  return result;

};

因?yàn)?Promise.all 返回所有響應(yīng)的數(shù)組,順序與提供的 Promise 數(shù)組相同。

  • 步驟 1:將響應(yīng)數(shù)組解構(gòu)為所有響應(yīng)

  • 第 2 步:使用變量名稱作為結(jié)果對象中的鍵構(gòu)建響應(yīng)對象

  • 第 3 步:返回您的結(jié)果對象

你也可以直接返回{ response1, response2, response3 }


查看完整回答
反對 回復(fù) 2022-10-21
  • 1 回答
  • 0 關(guān)注
  • 93 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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