可以使用 async 库中的 queue 方法来实现请求队列,具体代码如下:

const async = require('async');
const axios = require('axios');

// 定义请求队列
const requestQueue = async.queue((task, callback) => {
  axios.get(task.url)
    .then(response => {
      console.log(response.data);
      callback();
    })
    .catch(error => {
      console.error(error);
      callback();
    });
}, 5); // 设置每次同时请求 5 个

// 添加请求任务到队列
for (let i = 0; i < 100; i++) {
  const task = {
    url: `https://example.com/api/${i}`
  };
  requestQueue.push(task);
}

以上代码中,先定义了一个请求队列,使用 async.queue 方法创建,设置每次同时请求 5 个。然后通过循环向队列中添加 100 个请求任务,每个任务都包括一个请求的 url。最后通过调用 requestQueue.push 方法将任务添加到队列中,队列会自动处理任务。每次处理一个任务时,会调用请求函数,请求成功或失败后再调用 callback 回调函数,以便队列继续处理下一个任务。

Node.js 批量请求 API:使用 async.queue 实现请求队列

原文地址: https://www.cveoy.top/t/topic/ndnM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录