Я использую Express.js как промежуточное программное обеспечение для своего приложения. Мое приложение-интерфейс вызывает экспресс-маршрут каждые пару секунд с разными параметрами. Затем маршрут вызывает вызовы для каждого параметра на сторонний api. Внутри каждого из этих вызовов данные добавляются в массив. После цикла for я отправляю массив обратно во внешний интерфейс.Экспресс-массив отправки JS всегда пуст
Я объявляю массив внутри маршрута, но возвращаемый результат пуст. Когда я объявляю массив вне маршрута, он работает, но это не оптимально, когда одновременно выполняется несколько запросов.
server.js
app.get('/prices', function(req, res){
//array for holding all feeds
var feedData = [];
//Url params
var target = req.param('target');
//Convert the params to an array
var targetArray = target.split(',');
//Loop through targets and do request
for (var i = 0; i < targetArray.length; i++) {
//API endpoint
var url = xxx;
request(url, function (error, response, body) {
//Parse the XML body to javascript objects or json
parseString(body, function (err, result) {
//Store result in js object
var resultObject = result;
var arrayObject = resultObject.quotes.quote;
feedData.push(arrayObject[0])
});
});
}
console.log(feedData);
res.send(feedData);
//Clear feedData
feedData = [];
});
Так Суть заключается в том, что массив пуст. Какие-либо предложения?
'async' просит – Weedoze