Следующий фрагмент JavaScript дает мне ошибки примерно в 50% случаев.
grecaptcha.ready(() => {
grecaptcha.execute('XXXXXXXX_XXXXXXXX_XXXXXXX', {action: 'XXXXXXXX'}).then(token => {
this.rootNode.insertAdjacentHTML('afterbegin', '<input type="hidden" name="g-recaptcha-response" value="' + token + '">');
this.onRecaptchaKeyAdded(token);
});
});
Он вызывается при загрузке страницы, а затем отправляется позже вместе с формой. Эта ошибка возникает через некоторое время после загрузки страницы (что говорит об ошибке, время ожидания запроса истекло).
Перепробовал много разных решений. В обещании, возвращенном из Google, нет метода .catch, поэтому нет способа отловить ошибку и просто повторить попытку.