When taking this eslint rule into consideration it looks like this kind of code should be avoided (even though the rule allows it when it is not "return await")
async function foo() {
await bar(); // "cost of an extra microtask before resolving the outer Promise"
} // void return
And changed to
async function foo() {
return bar(); //This may be confusing because there is no real return value
}
So the question is - is this "extra microtask" really that significant?
Obviously when looking on 1 function - the effects are negligible, but what if it happens a lot all over the codebase?