问题描述
我要从兔子洞里跑出来,所以我在这里问我的问题。
我有一个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'
我相信RetryLink
(https://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,})
解决方法
500级错误是服务器端的问题。在这种情况下,您的服务器就是表明存在超时的服务器,因此在客户端没有任何事情要做。您必须检查服务器配置并最终确定。