2016-01-23 38 views
0

我正在使用Node.js構建應用程序。我正在使用request包進行服務器端GET請求。具體來說,我正在使用自定義HTTP頭請求:Node.js - 使用Cookie的多個請求

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可以驗證的原因。

回答

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就可以完成。