我想知道在哪个代码中更有意义,如果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 something
vs just something
。await
即使在选择添加时省略了await
return
,“内容”中可能包含也不重要。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句