Используйте цикл в Node.js, и вызовы будут выполняться одновременно, но чтобы убедиться, что все ваши вызовы обрабатываются до выхода из лямбды, вам нужно иметь некоторую форму счетчика, чтобы убедиться, что все запросы завершены.
пример:
var request = require('request');
var results = [];
var runningQueries = 0;
exchanges.forEach(function (item) {
++runningQueries;
callAPI (item, function (err, data) {
if (err) {
results.push(err)
--runningQueries;
} else {
results.push(data)
--runningQueries;
}
if (runningQueries == 0) {
// all call results have been collated, so do something
}
})
})
Вам необходимо создать собственную функцию callAPI.Кроме того, я немного ленив с тем, что я помещаю сюда в массив, но это просто для того, чтобы дать вам основу.