nodejs中使用async/await 获取返回值问题
我使用的是nodejs中的redis,使用zscore获取数据,但是直接返回的值是true和false,实际的值是从回调函数中获取,但是我总是无法获取到实际的值,求指点,万分感谢!!!
var rs={score:0};
var getAs= async function() {
const doc = await client.zscore('myzset', 'one', function (err, res) {
console.log("score-1-:"+res);
rs.score=res
return res;
});
return doc;
}
var getAs2 = async function () {
var ret = await getAs();
return ret;
}
getAs().then(function (result) {
console.log("then:"+result);
});
console.log("#############"+rs.score);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
await 后面返回的应该是一个promise的值
这样就可以获取到你需要的数值了
await 返回的值是你的 promise 返回的值,
return new Promise((resolve, reject) => {
if(true) return resolve('xxoo')
reject('xxxx')
})
所以你需要去你的 promise 里设定返回值,才能够接收到。