【发布时间】:2017-05-17 02:23:39
【问题描述】:
我只是在节点中使用 async/await ,似乎如果你正在等待一个承诺并且它被拒绝它就会抛出。我想知道是否有比返回我不知道的 try/catch 块更简洁的模式?
async function foo() {
const val = await Promise.reject();
}
【问题讨论】:
-
现在看来是这样的。
-
您能否详细说明您认为“更清洁”的是什么?
-
@jib - try/catch 不是干净的控制结构。被拒绝的承诺并不总是意味着错误,一个级别的错误并不总是构成更高级别的错误(例如
fs.accessthrows 如果您无法访问文件,但这是适当的方式检查如果您有权访问)。try/catch用于意外错误,而不是预期错误。
标签: javascript node.js async-await ecmascript-2017