如何使用Express(nodejs)将HTTP GET响应保存到var?
我在Nodejs中使用Express来进行GET调用。作为回应,我得到了我需要的值,但是当我将函数中的值返回到main时,我得到了未定义的值。
function getInfo()
{
var oauth = getoAuth();
request.get({
url:'myurl',
oauth:oauth,
qs:null,
json:true
},
function (e, r, data) {
body.data = data;
body.emit('update');
});
body.on('update', function () {
console.log(body.data.issues[0].key);
return (body.data.issues[0].key);
});
}
这个关键是我需要的。当我在控制台中打印它时,我得到正确的值,但它不会返回任何内容,因为它是异步调用。我怎样才能返回值?我能以某种方式等待使用快递的价值吗?我在stackoverflow上看到有些人使用了这个body.on('update'...解决方案,但它对我不起作用。它仍然没有保存任何变量。
EDIT-> the response:
TESTING: undefined
THEKEY1
Saving the value at:
回答如下:var myid = geInfo();
试试这种方式:
function getInfo()
{
var oauth = getoAuth();
request.get({ url:'myurl', oauth:oauth, qs:null, json:true},
function (error, response, body) {
if(!error && response && response.statusCode==200){
console.log(body);
return body.data.issues[0].key;
}else{
return null;
}
});
}
如何使用Express(nodejs)将HTTP GET响应保存到var?
我在Nodejs中使用Express来进行GET调用。作为回应,我得到了我需要的值,但是当我将函数中的值返回到main时,我得到了未定义的值。
function getInfo()
{
var oauth = getoAuth();
request.get({
url:'myurl',
oauth:oauth,
qs:null,
json:true
},
function (e, r, data) {
body.data = data;
body.emit('update');
});
body.on('update', function () {
console.log(body.data.issues[0].key);
return (body.data.issues[0].key);
});
}
这个关键是我需要的。当我在控制台中打印它时,我得到正确的值,但它不会返回任何内容,因为它是异步调用。我怎样才能返回值?我能以某种方式等待使用快递的价值吗?我在stackoverflow上看到有些人使用了这个body.on('update'...解决方案,但它对我不起作用。它仍然没有保存任何变量。
EDIT-> the response:
TESTING: undefined
THEKEY1
Saving the value at:
回答如下:var myid = geInfo();
试试这种方式:
function getInfo()
{
var oauth = getoAuth();
request.get({ url:'myurl', oauth:oauth, qs:null, json:true},
function (error, response, body) {
if(!error && response && response.statusCode==200){
console.log(body);
return body.data.issues[0].key;
}else{
return null;
}
});
}