即使在函数内部未使用async
时,使用await
关键字声明函数是否有用?
示例:
async function() {
return new Promise((resolve, reject) => {
(...)
});
}
我的一个同事用来声明全部异步函数,唯一的原因是它可以快速知道函数何时异步。
但是我并没有真正说服。你怎么看?这是个好习惯吗?
答案 0 :(得分:1)
我会考虑这种不好的做法。 async
关键字的目的是允许使用await
。根据{{3}}:
异步函数是异步运行的函数 通过事件循环,使用隐式承诺返回其 结果。 但是使用异步代码的语法和结构 功能更像是使用标准同步功能。
您同事代码的语法和结构显然不像“使用标准同步功能”。
无论何时我在这样的代码中发现一些意想不到的东西/不是惯用的东西,我都必须花更多的时间来理解代码,这会降低生产力。我可以删除async
关键字,并且代码仍然可以使用吗?这将需要一些努力来找出并100%确定。