node.js多个http请求

我是节点和js的新手,并尝试创build一个网站的快递,使三个Rest API调用之前呈现的页面。 目前我有下面,它返回一些JSON我转换成对象的列表。

其中一些属性只返回id值,我想运行三个API请求,返回这些Id的查找,以便我可以将这些数据作为有意义的值呈现给用户。

我可以通过运行下一个API调用来实现这一点,我正在渲染索引页,但是看起来非常混乱。 我看到的所有asynchronous教程都混淆了我的新手思维方式。 有人可以发布一个简单的例子,以反映下面的结构的asynchronous吗?

var issues_json = ""; var request = http.request(options, function(response) { console.log("statusCode: ", res.statusCode); console.log("headers: ", res.headers); response.on("data", function(data) { issues_json += data; }); response.on("end", function() { console.log(issues_json); var column_obj = JSON.parse(issues_json); res.render('index', { title: 'List of Issues', response: issues_json, objects: column_obj }); }); response.on("error", function(e) { console.log(e.Message); res.render('index', { title: 'error', e: e.Message }); }); }); request.end(); 

       

网上收集的解决方案 "node.js多个http请求"

你应该使用请求

你会有类似的东西

 app.get("/route", function(req, res) { var callbackThree = function(error, resp, body) { var data = JSON.parse(body); res.send({title; "My Title", data: data}); } var callbackTwo = function(error, resp, body) { request("api.com/42", callBackThree); } var callbackOne = function(error, resp, body) { request("api.com/things", callBackTwo); } request("api.com/users", callBackOne); } 

检查了这一点: https : //github.com/JacksonTian/eventproxy 。 这是一个JSasynchronous调用事件。 与被选中的答案唯一的区别在于其编写代码的方式。