我如何删除承诺,使其成为一个正常的数组



在我的JavaScript学习之旅中,我遇到了一个复杂的问题,我花了24个多小时研究并尝试了几个已发布的解决方案,但遗憾的是,我没有成功解决我的问题。这促使我写下这个回复来为我解决这个复杂的问题!

class db{
async findOne(search){
try {
const doc = this.collection.doc(search).get();
return get.data()
} catch (error) {
console.error(Error(red(error)).message);
process.exit(1)
}
}
}

输出
Promise { <pending> }

我真正想要的是在不使用then的情况下完成输出,并像以下输出:

{
name:'Johan',
age:'15',
}

这是this.collection.doc(search).get();同步吗?我猜不是。

so,const doc = await this.collection.doc(search).get();

这将解决你的问题。

您必须在指定行上使用await,直到它完成给你!!

const doc = await this.collection.doc(search).get();

如果您正在获得承诺数组,您可以使用promise.All([Array of promises]);来解决它们

Promise.all([promise1, promise2, promise3]).then((values) => {
console.log(values);
});

更多信息,请访问MMDN

相关内容

  • 没有找到相关文章

最新更新