我正在尝试在单个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或一些仅包含标头的随机输出。
我的目标是在单个节点get请求中调用多个URL,并将其JSON输出附加到数组中并发送给最终用户。
谢谢
res.on('end', function...
等待响应结束。 - toasted_flakes