我正在使用Node.js构建应用程序。我正在使用request
包来发出服务器端GET请求。具体来说,我正在发出使用自定义HTTP标头的请求:
https://www.npmjs.com/package/request#custom-http-headers
该文档显示了如何一次发出一个请求。但是,我需要向两个不同的API发出请求。有谁知道怎么做?我目前提出一个请求的代码:
var cookie = parseCookie.parseCookie(req.headers.cookie);
var cookieText = 'sid='+cookie;
var context;
function callback(error, response, body) {
var users = JSON.parse(body);
res.render('../views/users', {
context: users
});
}
var options = {
url: 'http://localhost:3000/api/admin/users/',
headers: {
host: 'localhost:3000',
connection: 'close',
cookie: cookieText
}
};
request(options, callback);
//need to make a request to another API.
作为旁注,我需要使用自定义HTTP标头的原因是我可以包含一个cookie,以便我的API可以进行身份验证。
答案 0 :(得分:1)
对于nodejs中的流量控制,我建议您使用async
如果你想并行执行而没有执行顺序:
async.parallel([
function(callback) { request(apiCall1Options, callback); },
function(callback) { request(apiCall2Options, callback); }
], function(err, apiCallResults) { console.log(apiCallResults) })
如果您需要订购,请使用async.waterfall
。
也可以通过简单地使用普通回调来完成,我建议你不要使用它,或者使用承诺库,如Q或bluebird。