返回Promise vs,等待这个承诺

伊利亚·泽连科(Ilya Zelenko)

我想知道在哪个代码中更有意义,如果promise不包含值,返回这样的promise是否有意义:

async function action () {
  // let's say there are many such lines with await before returning
  await asyncFunction()

  // will return Promise that does not contain any value!
  return anotherAsyncFunction()
}

// action().then(myAnotherAction)

或者这样做会更明智:

async function action () {
  await asyncFunction()


  await anotherAsyncFunction()
}

// const result = await action()

第一种选择是仅在返回某些值时使用?

否则,使用第二个选项会更容易,因为在函数末尾添加带有“ await”的另一个动作会更容易?

async function action () {
  await asyncFunction()

  await anotherAsyncFunction()
  // easy to add another function, no need to touch "return"
  await andAnotherAsyncFunction()
}
贝吉

如果您计划函数不返回任何值(Promise<void>),则建议不要使用return语句。return anotherAsyncFunction()当您希望始终返回与相同的结果时anotherAsyncFunction才使用,无论结果是什么或将来是否会更改。

请注意,对于同步函数而言,这是相同的,如果您忽略await了图片,则您将做出相同的决定:return somethingvs just somethingawait即使在选择添加时省略了awaitreturn“内容”中可能包含也不重要

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章