私は、単一のURL呼び出しで複数のURLを呼び出し、それをjson応答で配列にプッシュし、その配列をエンドユーザーに応答して送信しようとしています。このようなNode.jsの単一のHTTPリクエストで複数のHTTPリクエストを呼び出す
私のコードを見て:私も、この使用してNPM要求モジュールを試してみました
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);
});
。 このコードを実行すると、ヘッダーのみを持つNULLまたは一部のランダム出力が返されます。
私の目的は、単一ノードのget要求で複数のURLを呼び出して、配列にJSON出力を追加してエンドユーザーに送信することです。
おかげ
コールバックを使用する必要があります。または、非同期モジュールhttps://github.com/caolan/asyncを提案することができます –
[回答](http://stackoverflow.com/a/26254973/973680)を参照してください。 'res.on( 'end'、function ...' –