跳到主要内容

@typescript-eslint/no-misused-promises

禁止在不正确的位置使用Promise。

规则配置

// code-linter.json5
{
"rules": {
"@typescript-eslint/no-misused-promises": "error"
}
}

选项

详情请参考@typescript-eslint/no-misused-promises选项

正例

export async function func(): Promise<void>{
const promise = Promise.resolve('value');

// Always `await` the Promise in a conditional
if (await promise) {
// Do something
}

const val = await promise ? '123' : '456';
console.log(`${val}`);

while (await promise) {
// Do something
}
}

反例

export async function func(): Promise<void>{
const promise = Promise.resolve('value');
// 默认条件语句中需要使用await Promise
if (promise) {
// Do something
}

// 默认条件语句中需要使用await Promise
const val = promise ? '123' : '456';
console.log(`${val}`);

// 默认条件语句中需要使用await Promise
while (promise) {
// Do something
}
}

规则集

plugin:@typescript-eslint/all

Code Linter代码检查规则的配置指导请参考Code Linter代码检查