no-return-await
在async function
里面,return await
没用。由于async function
总是包含返回值Promise.resolve
,除非在总体 Promise 解析或拒绝之前添加额外时间,否则实际上return await
不会执行任何操作。这种模式几乎肯定是因为程序员无视async function
的返回语义。
规则细节
这个规则旨在防止由于缺乏对async function
语义的理解而导致的可能的常见性能危害。
以下模式被视为警告:
async function foo() {
return await bar();
}
以下模式不是警告:
async function foo() {
return bar();
}
async function foo() {
await bar();
return;
}
async function foo() {
const x = await bar();
return x;
}
何时不使用它
如果你想用await
来表示一个值很高的值,即使它没有必要; 或者如果您不希望避免性能优势return await
,则可以关闭此规则。
进一步阅读
版本
规则在 ESLint 3.10.0 中引入。
资源
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com