无法让ESLint的@typescript-eslint/no-floating-promises规则触发警告
解决@typescript-eslint/no-floating-promises规则warn状态不生效的问题
检查配置层级与优先级
确认该规则未被局部配置覆盖。比如项目ESLint配置中的overrides字段如果针对特定文件(如.tsx、测试文件)单独设置了该规则为off,会覆盖全局的warn设置。同时要确保配置文件语法正确,规则需正确放在rules对象下(比如JSON格式不能有多余的 trailing comma)。调整ESLint运行与IDE显示设置
- 命令行运行时,不要使用
--quiet参数,该参数会过滤警告仅显示错误,直接执行eslint .即可输出警告信息。 - IDE(如VS Code)中,需开启ESLint警告显示:将设置项
eslint.showWarnings设为true,并确保ESLint插件已正常启用。
- 命令行运行时,不要使用
验证依赖版本兼容性
确保@typescript-eslint/eslint-plugin和@typescript-eslint/parser的版本一致,且与当前ESLint版本兼容。版本不匹配可能导致规则异常,可尝试将这两个包更新到最新的兼容版本。确认代码符合规则触发条件
确保代码存在明确的未处理Promise场景,比如直接调用async函数却不使用await、不返回该Promise,也未通过.then()/.catch()处理。示例代码:async function fetchData() { return new Promise(resolve => setTimeout(resolve, 1000)); } // 此代码会触发规则警告 fetchData();
内容的提问来源于stack exchange,提问作者EvanM
相关产品推荐
相关产品推荐

