Aufrufen mehrerer HTTP-Anforderungen in einer einzelnen HTTP-Anforderung in Node.js

Ich versuche, mehrere URLs in einem einzigen URL-Aufruf aufzurufen und die JSON-Antwort in einem Array zu speichern und dieses Array als Antwort an den Endbenutzer zu senden.

Mein Code sieht so aus:

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);
});

Ich habe dies auch mit dem npm-Anforderungsmodul versucht. Wenn ich diesen Code laufen lasse, gibt es nur NULL oder irgendeine gelegentliche Ausgabe zurück, die nur Überschriften haben.

Mein Ziel ist es, mehrere URLs in einem einzigen Knoten aufzurufen, eine Anfrage abzurufen und die JSON-Ausgabe an ein Array anzuhängen und an den Endbenutzer zu senden.

Vielen Dan

Antworten auf die Frage(4)

Ihre Antwort auf die Frage