【发布时间】:2019-05-17 21:13:37
【问题描述】:
即使在函数内部没有使用await,使用async 关键字声明函数是否有用?
例子:
async function() {
return new Promise((resolve, reject) => {
(...)
});
}
我的一位同事使用这样声明 所有它的异步函数,唯一的原因是它可以快速知道函数何时是异步的。
但我并不真正相信。你怎么看?这是一个好习惯吗?
【问题讨论】:
-
这是一个高度自以为是的话题。我认为您无法获得有用的主题答案。
-
人们忘记了
async所做的一件事,它保证了回报将是一个承诺。在您的示例中,几乎可以保证。但是假设return new Promise是有条件的,也许你在另一个条件下返回false,在这里使用async可以保证false作为promise返回,否则它只是false.从使用await的调用方端,它不会有任何影响,因为await在无承诺上也很好。但如果有人使用then回调,它就会失败。 -
这不是固执己见,这样做是有原因的——它改变了堆栈框架。
标签: javascript promise async-await