根據(jù)最大并發(fā)數(shù)實現(xiàn)并發(fā)請求

function concurrencyFetch(urls, maxNum) {
  if (urls.length == 0) {
    return Promise.resolve([])
  }

  let index = 0;
  let result = [];
  return new Promise((resolve) => {
    async function _request() {

      let i = index;
      let url = urls[index]
      index++;
      try {
        let res = await fetch(url)
        result[i] = res;

      } catch (error) {
        result[i] = error;
      } finally {

        console.log(i, urls.length, 'xx')
        if (index == urls.length) {
          resolve(result);
        }
        if (index < urls.length) {
          _request()
        }

      }
    }

    for (let i = 0; i < maxNum; i++) {
      _request();
    }
  })

}

const urls = ['https://jsonplaceholder.typicode.com/todos/1', 'https://jsonplaceholder.typicode.com/todos/2', 'https://jsonplaceholder.typicode.com/todos/3']



concurrencyFetch(urls, 2).then((res) => {
  console.log(res, 'resss');
})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容