Google ReCaptcha v3 最多需要 15-20 秒来响应

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

我正在尝试在我的网站上实施 ReCaptcha v3。我希望它的代码在 1 秒内执行。在某些测试中,它最多需要 20 秒。

  const t = Date.now()
  console.log(t)
  const captchaCode = await doRecaptcha()
  const t2 = Date.now()
  const t3 = t2 - t
  console.log(t3, "time elapsed")

在我最近的测试中,t3 的值为 15011,即 15 秒!在另一个测试中我得到了23522 'time elapsed'。另一个测试给出 22926 持续 22.9 秒。

那是怎么回事?

这里是函数

async function doRecaptcha() {
    return new Promise((resolve, reject) => {
      try {
        // eslint-disable-next-line @typescript-eslint/ban-ts-comment
        // @ts-ignore
        grecaptcha.ready(function () {
          // eslint-disable-next-line @typescript-eslint/ban-ts-comment
          // @ts-ignore
          grecaptcha
            .execute(googleRecaptchaSiteKey, { action: "submit" })
            .then(function (captchaToken) {
              resolve(captchaToken)
            })
        })
      } catch (err) {
        reject(err)
      }
    })
  }

然后我像这样加载脚本

<svelte:head>
  <script
    src="https://www.google.com/recaptcha/api.js?render={googleRecaptchaSiteKey}"
    async></script>
</svelte:head>

我曾经在那个脚本上有 defer 但我试着删除它,我想也许是延迟造成的。

recaptcha recaptcha-v3
© www.soinside.com 2019 - 2024. All rights reserved.