我对外部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;
})
})
});
答案 0 :(得分:1)
我猜你正在使用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();
})
})
});