Javascript 如何处理来自reCaptcha v3执行的拒绝?

Javascript 如何处理来自reCaptcha v3执行的拒绝?,javascript,recaptcha,sentry,recaptcha-v3,Javascript,Recaptcha,Sentry,Recaptcha V3,reCaptcha v3提供了有关如何检索和使用令牌的良好示例- grecaptcha.ready(function() { grecaptcha.execute('_reCAPTCHA_site_key_', {action: 'homepage'}).then(function(token) { ... }); }); 他们没有展示的是如何处理拒绝。我使用Sentry来记录客户端错误,并注意到自从我开始使用reCaptcha以来,它记录了相当多的“未处理的退出

reCaptcha v3提供了有关如何检索和使用令牌的良好示例-

grecaptcha.ready(function() {
    grecaptcha.execute('_reCAPTCHA_site_key_', {action: 'homepage'}).then(function(token) {
       ...
    });
});
他们没有展示的是如何处理拒绝。我使用Sentry来记录客户端错误,并注意到自从我开始使用reCaptcha以来,它记录了相当多的“未处理的退出-非错误承诺拒绝”。在拒绝中发回的值包括“超时”和“空”

我的问题有两个方面-

  • 为什么这些拒收发生在reCaptcha中?我假设它无法生成令牌,但文档并没有解释为什么会发生这种情况
  • 如果我不想被哨兵抓住,我该如何处理/压制拒绝?我试图在.then()off.execute()之后添加catch(),但它似乎没有返回实际承诺?只能使用.then(),否则在加载页面时会出错
  • 导致“未定义捕获”的示例-

    .then(function(token) {
       ...
    }).catch(function(e) { //squash });
    

    至少在一种情况下,当recaptcha/google域因任何原因被阻止或在connect上超时时,会发生拒绝。至少在一种情况下,当recaptcha/google域因任何原因被阻止或在connect上超时时,会发生拒绝。