Вызов нескольких HTTP-запросов в одном HTTP-запросе в Node.js
Я пытаюсь вызвать несколько URL-адресов в одном вызове URL-адреса и передать его ответ json в массиве и отправить этот массив в ответ конечному пользователю.
Мой код выглядит так:
var express = require('express');
var main_router = express.Router();
var http = require('http');
urls = [
"http://localhost:3010/alm/build_tool",
"http://localhost:3010/alm/development_tool",
"http://localhost:3010/alm/project_architecture"];
var responses = [];
main_router.route('/')
.get(function (req, res) {
var completed_requests = 0;
for (url in urls) {
http.get(url, function(res) {
responses.push(res.body);
completed_request++;
if (completed_request == urls.length) {
// All download done, process responses array
}
});
}
res.send(responses);
});
Я также попробовал это с помощью модуля запроса npm. Когда я запускаю этот код, он возвращает только NULL или некоторый случайный вывод, который имеет только заголовки.
Моя цель - вызвать несколько URL-адресов в одном узле, получить запрос, добавить его вывод JSON в массив и отправить конечному пользователю.
Спасибо