[英]How to access data from http.get method nodejs
我對外部api有一個簡單的http.get請求。 如何從另一個函數訪問id和name變量? 謝謝!
app.use(function *(next){ var name = ''; var id = ''; var options = { host: 'www.website.com', path: '/json/somedata', metohd: 'GET' }; http.get(options, function(res) { var body = ''; res.on('data', function(chunk) { body+=chunk; console.log(body); }) res.on('end', function() { var parsed = JSON.parse(body); id = parsed.id; name = parsed.name; }) }) });
我猜您正在使用npm模塊express,以及那里的語法。
您的答案取決於您要在哪里使用ID和名稱。 如果要在此之后在路由或中間件中使用它,解決該問題的一種常用方法是將屬性(在本例中為name和id)附加到請求中。 切記在完成后再打電話,否則快遞將不知道您已完成所有處理
我在下面給出了一個簡單的例子:
app.use(function (req, res, next){
var options = {
host: 'www.website.com',
path: '/json/somedata',
method: 'GET'
};
http.get(options, function(getResponse) {
var body = '';
getResponse.on('data', function(chunk) {
body+=chunk;
console.log(body);
})
getResponse.on('end', function() {
var parsed = JSON.parse(body);
req.id = parsed.id;
req.name = parsed.name;
next();
})
})
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.