最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS循環(huán)發(fā)送請求時控制請求并發(fā)數(shù)實例

 更新時間:2023年12月19日 10:14:24   作者:Victory  
這篇文章主要介紹了JS循環(huán)發(fā)送請求時控制請求并發(fā)數(shù)實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

準(zhǔn)備數(shù)據(jù),調(diào)用方法

let data = [{ name: 1 }, { name: 2 }, { name: 3 }, { name: 4 }];
  LimitFunc(data, service, 2);

屬性注釋

//data:請求所需參數(shù),service:請求回調(diào)名稱,LimitNum 并發(fā)數(shù)量

const LimitFunc = async (data, service, LimitNum) => {
  const arrList = []; // 所有的promise
  const running = []; // 正在執(zhí)行的promise
  for (const item of data) {
    const p = Promise.resolve(service(item)); // Promise.resolve回調(diào)函數(shù)
    arrList.push(p);
    if (LimitNum <= data.length) {
      // then回調(diào)中,當(dāng)這個promise狀態(tài)變?yōu)閒ulfilled后,將其從正在執(zhí)行的promise列表running中刪除
      const e = p.then(() => running.splice(running.indexOf(e), 1));
      running.push(e);
      if (running.length >= LimitNum) {
        // running的數(shù)量等于限制數(shù)時,Promise.race等待某一個promise狀態(tài)發(fā)生變更,
        // 變更后,執(zhí)行then的回調(diào),將當(dāng)前promise從running中刪除,從下一次for循環(huán)中生成新的promise進(jìn)入running
        await Promise.race(running);
      }
    }
  }
  return Promise.all(arrList);
};

axios請求

function service(item) {
  return new Promise((resolve) => {
    // axios成功
    axios('url', item).then(() => {
      resolve();
    });
  });
}

以上就是JS循環(huán)發(fā)送請求時控制請求并發(fā)數(shù)實例的詳細(xì)內(nèi)容,更多關(guān)于JS循環(huán)發(fā)送請求控制并發(fā)數(shù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

江山市| 楚雄市| 高唐县| 芷江| 黑河市| 衡南县| 孝感市| 淅川县| 汶上县| 桐乡市| 和林格尔县| 金堂县| 许昌县| 保德县| 宁明县| 江源县| 凭祥市| 嘉黎县| 库尔勒市| 道真| 武汉市| 丹东市| 罗甸县| 上高县| 厦门市| 句容市| 伊川县| 保山市| 罗城| 玉山县| 五原县| 闽清县| 淅川县| 雷州市| 黄石市| 噶尔县| 岳西县| 怀仁县| 武冈市| 盖州市| 建湖县|