如何在intellij中解决“忽略承诺”警告但仅针对特定功能?

科纳拉斯

我的项目中有一个函数 ( foo) 返回一个承诺,但通常不需要等待承诺解决,因此永远不会附加 .then() 处理程序。Intellij IDEA 很有帮助,因为它总是用警告标记它。这可以通过添加删除

// JSIgnoredPromiseFromCall

到文件的顶部。但这将使它忽略所有被忽略的承诺,这不是我们想要的。为每个语句添加注释也不理想,因为该函数经常被调用,所以它只是不必要地污染源代码。

有没有办法用文件级 supperss 注释指定要忽略的确切函数?例如

// noinspection JSIgnoredPromiseFromCall[foo]

TJ克劳德

我怀疑您是否可以在函数级别指定这一点,而不是首先不让函数返回承诺,这就是我将如何解决这个问题。例如:

function foo() {
    const promise = /*...foo's original logic...*/;
    promise.catch(error => {
        // ...report the error if that's appropriate...
        // **DO** include this handler even if you don't report it,
        // to avoid unhandled rejection errors
    });
}

请注意,foo不会返回promise. 承诺完全在foo.

如果在某些情况下您确实需要使用 promise 而其他情况下您不需要,请创建两个函数并根据情况使用适当的一个:

function originalFoo() {
    return /*...foo's original logic...*/;
}

function silentFoo() {
    originalFoo().catch(error => {
        // ...report the error if that's appropriate...
        // **DO** include this handler even if you don't report it,
        // to avoid unhandled rejection errors
    });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在异步功能中解决承诺?

如何在打字稿中仅返回已解决的承诺,而忽略错误?

是否可以仅针对特定文件忽略php.ini中的禁用功能?

.CSV 中的重复记录 - 如何在重复中忽略 Hash 中的相似值并仅针对 Perl 中的不同值发出警告

仅保留可解决和忽略被拒绝的承诺中的值

如何使用Intellij SonarLint插件禁止针对特定方法的警告

仅针对特定操作忽略ValidateAntiForgeryToken

如何在python中仅针对特定值找到Spearman的相关性?

如何忽略IntelliJ中的特定TODO

如何在Perl中解决此警告

如何在Ubuntu中解决这些警告?

未兑现的承诺警告。如何解决?

Intellij Idea警告-使用aysnc / await的“返回的承诺被忽略”

如何在Kotlin中取消针对单行的警告

Azure功能:如何在本地开发环境中仅启动特定功能?

如何在 django ORM 中仅获取特定记录的值(通过忽略过滤条件)

如何仅针对 TabLayout 中的特定片段停止活动的旋转?

如何在express.js中解决承诺的mysql查询?

如何在运行时忽略空手道功能文件中的特定场景?

蓝鸟承诺警告:.then仅接受功能但已通过

如何在我的计算器功能中实现承诺?

Mapstruct:仅针对集合映射忽略特定字段

如何解决警告“ Cypress检测到您在测试中返回了承诺”

如何在Python中忽略弃用警告

如何在使用pytest的测试中忽略警告?

如何在并行循环中忽略 R tryCatch 中的警告

如何在Swift中隐藏特定警告

如何访问承诺中的功能

仅针对特定函数/变量禁用“未使用的属性”警告?