@typescript-eslint/no-floating-promises
要求正确处理Promise表达式。
floating-promise是指在创建Promise时,没有使用任何代码来处理它可能引发的错误,这是一种不正确的使用方式。
规则配置
// code-linter.json5
{
"rules": {
"@typescript-eslint/no-floating-promises": "error"
}
}
选项
详情请参考@typescript-eslint/no-floating-promises选项。
正例
export async function bar() {
const promise = new Promise<string>(resolve => {
resolve('value');
return 'finish';
});
await promise;
Promise.reject('value').catch(() => {
console.error('error');
});
await Promise.reject('value').finally(() => {
console.info('finally');
});
await Promise.all(['1', '2', '3'].map(x => x + '1'));
}
反例
export async function bar() {
const promise = new Promise<string>(resolve => {
resolve('value');
return 'finish';
});
promise;
Promise.reject('value').catch();
await Promise.reject('value').finally();
['1', '2', '3'].map(async x => x + '1');
}
规则集
plugin:@typescript-eslint/all
Code Linter代码检查规则的配置指导请参考Code Linter代码检查。