我想知道在哪个代码中更有意义,如果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()
答案 0 :(得分:2)
如果您计划函数不返回任何值(Promise<void>
),则建议不要使用return
语句。如果您想始终返回与return anotherAsyncFunction()
相同的结果,则无论它是什么,或者将来是否会更改,都只会使用anotherAsyncFunction
。
请注意,对于同步功能而言,这是相同的,如果将await
留在图片之外,则您将做出相同的决定:return something
与something
。即使您omit the await
when you choose to add the return
,“某物”是否可能包含await
也没关系。