Node.js 遍历请求设置并发 - 使用 async 库
在 Node.js 中,可以使用 'async' 库来实现遍历请求设置并发。具体的步骤如下:
- 引入 'async' 库:
const async = require('async');
- 定义一个数组,存放需要请求的数据:
const data = [1, 2, 3, 4, 5];
- 定义一个并发数,例如设置为 2:
const concurrency = 2;
- 使用 'async.mapLimit' 方法进行遍历请求,设置并发数:
async.mapLimit(data, concurrency, (item, callback) => {
// 发送请求并处理返回的数据
request('http://example.com/?id=' + item, (error, response, body) => {
if (!error && response.statusCode == 200) {
// 处理返回的数据
const result = processData(body);
callback(null, result);
} else {
callback(error);
}
});
}, (error, results) => {
if (error) {
console.error(error);
} else {
console.log(results);
}
});
在上面的代码中,'async.mapLimit' 方法会遍历 'data' 数组中的每个元素,并发送请求。同时,由于设置了并发数为 2,所以最多会同时发送两个请求。每当一个请求完成后,会立即发送下一个请求,直到所有请求都完成。
最后,'async.mapLimit' 方法会返回一个结果数组 'results',包含了所有请求返回的数据。如果出现错误,会将错误传递给最后一个回调函数的 'error' 参数。
原文地址: https://www.cveoy.top/t/topic/ndmd 著作权归作者所有。请勿转载和采集!