router.post('xxxx', function (req, res) {
let urls = ['url1', 'url2];
let promises = batchFetch(urls, function (data) {
return data;
});
Promise.all(promises).then(function (values) {
console.log(values);
}).catch(function (reason) {
console.log(reason);
});
});
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);
}
});
});
})
}