router.post('xxxx', function (req, res) {
let urls = ['url1', 'url2];
// promise对象数组
let promises = batchFetch(urls, function (data) {
// 数据处理
// xxxx
return data;
});
Promise.all(promises).then(function (values) {
// 所有请求返回值
console.log(values);
}).catch(function (reason) {
console.log(reason);
});
});
/**
*
* @param {*} urls
* @param { 通过传入的函数对数据返回之前进行处理 } fn
*/
function batchFetch(urls, fn) {
return urls.map(url => {
return new Promise(function (resolve, reject) {
request(url, function (error, response, data) {
if (error) {
reject();
} else {
fn ? resolve(fn(data)) : resolve(data);
}
});
});
})
}
node.js中实现批量请求
最新推荐文章于 2024-08-15 09:58:23 发布