[英]node.js multiple http requests
我是node和js的新手,並嘗試在express中創建一個網站,在呈現頁面之前進行三次Rest API調用。 目前我有下面的,它返回一些我轉換成對象列表的json。
其中一些屬性只返回id值,我想再運行三個API請求,返回這些Id的查找,這樣我就可以將這些數據作為有意義的值呈現給用戶。
我可以通過運行下一個API調用來同步執行此操作,我當前正在呈現索引頁面,但這看起來非常混亂。 我看到的所有異步教程都讓我的新手思維方式混淆了。 有人可以發布一個易於遵循的異步示例,這有點反映了以下結構嗎?
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();
你應該使用Request
你會有類似的東西
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 。 它是一個js lib,可以對事件進行異步調用。 與勾選答案的唯一區別在於它編寫代碼的方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.