【发布时间】:2019-04-22 02:46:49
【问题描述】:
我想组合我需要等待的异步函数和不需要等待的函数。首先是代码...
async function doSomeStuff() {
try {
const data = await getDataFromDatabase()
if(data.canDoStuff == "yes") {
doAsynchronousStuffIDoNotNeedToAwait()
}
if(data.canDoSecondStuff == "yes") {
doSecondAsynchronousStuffIDoNotNeedToAwait()
.then(result => console.log("Done!");
}
} catch(err) {
console.log(err)
}
}
这是我的问题。如果我的doAsynchronousStuffIDoNotNeedToAwait() 抛出错误,它会触发 catch 函数吗?在第二个函数doSecondAsynchronousStuffIDoNotNeedToAwait() 中是否有更好的方法来处理结果?这段代码是否有一些缺点或者可以写得更好?
我希望问题清晰,代码简单易懂。如果没有,请发表评论,我将编辑我的问题。谢谢你:)
【问题讨论】:
-
这不是建议的问题的重复。并非所有异步执行都建立在 Promise 之上。此外,对于提出这个问题的人来说,“触发和遗忘”是正在尝试的原则并不一定很明显 - 确定这将构成该问题答案的有用部分。
标签: javascript asynchronous promise async-await