延长阿波罗突变超时

问题描述

我要从兔子洞里跑出来,所以我在这里问我的问题。

我有一个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,})

解决方法

500级错误是服务器端的问题。在这种情况下,您的服务器就是表明存在超时的服务器,因此在客户端没有任何事情要做。您必须检查服务器配置并最终确定。