捕获的非错误承诺拒绝值:超时

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

我最近在我的 React 应用程序中集成了不可见的 recaptcha v3。 部署新版本后,我的 Sentry 仪表板中遇到错误 -

UnhandledRejection:捕获的非错误承诺拒绝值:超时

我已使用文档进行集成 - https://developers.google.com/recaptcha/docs/v3

请注意,我正在使用 webpack 为整个项目加载 reCaptcha 脚本,但只有登录页面使用基于 recaptcha 的检查(令牌生成 + 令牌传输到后端),但我面临的用户似乎已经登录与应用程序的其他路由交互。

google-cloud-platform recaptcha invisible-recaptcha recaptcha-enterprise
1个回答
0
投票

作者:Aagam Vadecha 的博客

“当 Promise 中出现错误时,它会被拒绝并调用拒绝()函数。未处理的承诺拒绝意味着当承诺被拒绝时,它不会被处理。它没有得到处理,因为没有任何东西可以处理拒绝”

,没有代码处理函数中的承诺拒绝。

要专门处理 Promise 拒绝,我们可以使用 .catch() 处理程序方法。更流行的选择是将 Promise 调用包装在 try-catch 块中。

或者通过 sdk 配置过滤错误使用 ignoreErrorsBeforeSend 方法过滤错误事件

根据此哨兵讨论论坛关于错误处理

使用ignoreErrors选项过滤掉与特定模式匹配的错误

Sentry.init({
    dsn:__MY_DSN__,
      ignoreErrors:[
       "Non-Error exception captured",
       "Non-Error promise rejection captured"
      ]
    })

beforeSend 删除这些事件,方法是查看错误名称,如果它与您描述的错误匹配,则返回 null。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.