【发布时间】:2018-07-20 09:04:58
【问题描述】:
所以控制台中的结果显示为 -
Promise { <pending> } ' why is it still pending?'
[ { _id: 5a7c6552380e0a299fa752d3, username: 'test', score: 44 } ]
所以它告诉我 Promise {pending } 但随后给出我想查看的答案 -
[ { _id: 5a7c6552380e0a299fa752d3, username: 'test', score: 44 } ]
但是我怎样才能修复承诺待定部分,它是我在代码底部运行的 console.log。
function resolveAfter1() {
return new Promise((resolve, reject) => {
var scoresFromDb = db.account.find({}, { username: 1, score: 1 }).toArray(function(err, result) {
if (err)
reject(err);
else
resolve(result);
});
});
}
resolveAfter1() // resolve function
.then((result)=>{console.log(result);})
.catch((error)=>{console.log(error);})
async function asyncCall() {
var result = await resolveAfter1();
// console.log(result);
}
console.log(asyncCall(), ' why is it still pending?');
【问题讨论】:
-
因为你不用等
asyncCall和await。 -
你推荐什么,我应该改用?
-
@Andrew 第一个停靠港 ► async function && await || How to “await” for a callback to return?
标签: javascript node.js mongodb sockets response