gpt4 book ai didi

javascript - 我怎样才能让底部的 console.log 等到它全部完成,然后告诉我答案而不是等待?

转载 作者:搜寻专家 更新时间:2023-11-01 00:20:04 25 4
gpt4 key购买 nike

这是我的代码,我知道有人在这里解释 await 函数,但我似乎无法理解为什么我的代码不起作用,在函数内部它完美地 console.logs 数据库,也在 .然后是一段代码,但是当涉及到外面的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);
// console.log(result);
});
});
}

resolveAfter1() // resolve function
.then((result)=>{console.log(result);})
.catch((error)=>{console.log(error);})

它不会显示在 console.log(result) 中。

 async function asyncCall() {
var result = await resolveAfter1();
return result
// console.log(result);
}

要在这一行下显示,我做错了什么?

console.log(asyncCall(), ' why is it still pending?');

console.log 上的结果

Promise { <pending> } ' why is it still pending?'

最佳答案

asyncCall is an async function, you have to await for it to resolve.

console.log(await asyncCall())

关于javascript - 我怎样才能让底部的 console.log 等到它全部完成,然后告诉我答案而不是等待?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48744446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com