如何使用 ESLint 来警告我有关顶级 Promise 的信息?

问题描述 投票:0回答:1

我想获得此程序的 ESLint 警告:

async function foo(){
  return;
}
async function bar(){
  foo(); // this is where I'd want the warning to occur
}

我想要这个警告的原因是,在

bar()
里面我可能想写
await foo();
。因此,检查是任何语句都不应返回任何内容,或者返回非 Promise 的内容。我怎样才能让 ESLint 警告我这个问题?

一旦忘记添加

await
,我就会出现奇怪的(难以调试)行为。还有一次,我将一个函数更改为
async
函数,却错过了在调用站点添加
await
,再次导致不稳定的测试。我想确保我不会再次受到打击。

typescript eslint
1个回答
0
投票

您正在寻找 require-await 规则。根据 eslint 文档:

此规则警告没有等待表达式的异步函数。

这是一个例子:

错误❌

/*eslint require-await: "error"*/

async function foo() {
    doSomething();
}

bar(async () => {
    doSomething();
});

成功

/*eslint require-await: "error"*/

async function foo() {
    await doSomething();
}

bar(async () => {
    await doSomething();
});

function baz() {
    doSomething();
}

bar(() => {
    doSomething();
});

// Allow empty functions.
async function noop() {}
© www.soinside.com 2019 - 2024. All rights reserved.