返回Promise vs,等待这个承诺

时间:2018-12-01 13:41:59

标签: javascript promise async-await

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

 logs/access.%F 

或者这样做会更明智:

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)

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

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

async function action () {
  await asyncFunction()


  await anotherAsyncFunction()
}

// const result = await action()

1 个答案:

答案 0 :(得分:2)

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

请注意,对于同步功能而言,这是相同的,如果将await留在图片之外,则您将做出相同的决定:return somethingsomething。即使您omit the await when you choose to add the return,“某物”是否可能包含await也没关系。