Are there performance concerns with `return await`?

后端 未结 1 1061
有刺的猬
有刺的猬 2020-11-22 11:10

I see there is an eslint rule, no-return-await, for disallowing return await.

In the rule\'s description, it states a return await adds \"extra ti

相关标签:
1条回答
  • 2020-11-22 11:31

    No, there isn't any performance problem. It's just an unnecessary extra operation. It might take a bit longer to execute, but should be hardly noticeable. It's akin to return x+0 instead of return x for an integer x. Or rather, exactly equivalent to the pointless .then(x => x).

    It doesn't do actual harm, but I'd consider it bad style and a sign that the author does not fully compre­hend promises and async/await.

    However, there's one case where it make an important difference:

    try {
        …
        return await …;
    } …
    

    await does throw on rejections, and in any case awaits the promise resolution before catch or finally handlers are executed. A plain return would have ignored that.

    0 讨论(0)
提交回复
热议问题