使用`async`而不真正需要它

时间:2019-05-17 13:05:06

标签: javascript promise async-await

即使在函数内部未使用async时,使用await关键字声明函数是否有用?

示例:

async function() {
  return new Promise((resolve, reject) => {
    (...)
  });
}

我的一个同事用来声明全部异步函数,唯一的原因是它可以快速知道函数何时异步。

但是我并没有真正说服。你怎么看?这是个好习惯吗?

1 个答案:

答案 0 :(得分:1)

我会考虑这种不好的做法。 async关键字的目的是允许使用await。根据{{​​3}}:

  

异步函数是异步运行的函数   通过事件循环,使用隐式承诺返回其   结果。 但是使用异步代码的语法和结构   功能更像是使用标准同步功能。

您同事代码的语法和结构显然不像“使用标准同步功能”。

无论何时我在这样的代码中发现一些意想不到的东西/不是惯用的东西,我都必须花更多的时间来理解代码,这会降低生产力。我可以删除async关键字,并且代码仍然可以使用吗?这将需要一些努力来找出并100%确定。