0

我正在跑一个兔子洞,所以我在这里问我的问题。

我有一个useMutation突变可以将多达 10MB 的 JSON 数据上传到我的数据库。这显然需要很长时间,并且我收到了一个timeout错误,我认为该错误导致查询运行两次,然后两次上传了一些数据。

如何声明一个突变具有更长的超时时间?我在哪里指定超时?我可以指定它不重试吗?

我目前正在使用几个链接:

import { onError } from '@apollo/client/link/error'
import { RetryLink } from '@apollo/client/link/retry'
import { setContext } from '@apollo/client/link/context'

我相信RetryLinkhttps://www.apollographql.com/docs/link/links/retry/)可能会有所帮助。目前我有默认设置:


// default settings
const retryLink = new RetryLink({
  delay: {
    initial: 300,
    max: Infinity,
    jitter: true,
  },
  attempts: {
    max: 5,
    retryIf: (error, _operation) => !!error,
  },
})
4

1 回答 1

0

500 级错误是服务器端问题。在这种情况下,您的服务器是指示存在超时的服务器,因此客户端无需执行任何操作。您必须检查您的服务器配置并最终解决。

于 2020-10-10T13:00:27.250 回答