将 async 附加到返回 promise 的函数有什么好处?

IT技术 javascript async-await
2021-02-28 09:21:48

在此处添加异步有什么好处?

async function asyncFunc () {
   return new Promise (function (resolve, reject) {

   });
}
2个回答

唯一的好处async是作为一个视觉标记,函数将(总是)返回一个Promise,你甚至不必扫描函数体来查找return语句。如果您有一排async functions,它可能对一致性很有用

除此之外:它的收益绝对为零。这与在附加Promise.resolve()调用中包装返回值一样好如果你的函数体只包含一个return带有Promise语句(一个new Promise或另一个函数调用),我建议不要使用async.

通常,如果您的函数体不包含await表达式,您可能也不需要async关键字。该规则的例外情况是,当您想要确保该函数始终返回一个Promise时,即使代码中出现了一个应该导致Promise拒绝的异常。

我认为在async这里使用没有任何好处,除非您awaitpromise函数内部使用

async function asyncFunc () {
   // no await here
}

async/await 结合使用,没有其他的使用一个没有意义。

我想,现在我已经修改了有意义的答案
2021-04-22 09:21:48
@VipinKumar 即使在 promise 回调中有一个 await,回调本身也必须在语法上被标记为 async,not asyncFunc,这也没有任何意义。
2021-05-07 09:21:48
你指的是什么“promise功能”?
2021-05-12 09:21:48
可能是术语不清楚。修改我的答案。
2021-05-18 09:21:48
如果await是Promise执行内部使用,然后加入asyncasyncFunc不会帮助-只要你想用await直接asyncFuncasync 需要
2021-05-20 09:21:48