当我从服务器得到响应时,如何获取此值?
当我运行终端时,它没有输出任何信息。
console.log(a);
function findMaxID() {
var a = needle.get(URL, function(err, res){
if (err) throw err;
return 222;
});
return a;
}
发布于 2017-01-23 21:10:25
基本上,你不能在函数返回值的方式中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);
}
您还可以返回promise:
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
https://stackoverflow.com/questions/41806852
复制相似问题