当我从服务器收到回复时,如何获得此值?
运行时终端没有输出任何信息。
console.log(a);
function findMaxID() {
var a = needle.get(URL, function(err, res){
if (err) throw err;
return 222;
});
return a;
}

答案 0 :(得分:2)
基本上,在函数返回值的方式中,你不能真正return
这个值。您可以做的是为您的findMaxID()
函数提供一个回调参数,以便在获取数据时调用该参数:
function findMaxID(callback) {
needle.get(URL, function(err, res){
if (err) throw err;
callback(res);
});
}
然后这样称呼:
findMaxID(function(id) {
console.log('Max ID is : ', id);
}
您还可以返回承诺:
function findMaxID() {
return new Promise(function (resolve, reject) {
needle.get(URL, function(err, res){
if (err) reject(err);
resolve(res);
});
});
}
并称之为:
findMaxID().then(function(id) {
console.log('Max ID is ', id);
})
如果您使用的是async
函数,则可以这样:
var id = await findMaxId();
console.log(id); // logs the ID