description: Attempt an operation multiple times if it fails due to network or server errors.
我已经使用阿波罗链接重试来重试发生服务器错误的调用(5xx)。但是,当400错误(糟糕的请求)发生时,它将重试,这将只在服务器错误中重试。网络错误是否意味着所有客户端错误(4xx)和服务器错误(5xx)?如何停止重试5xx以外的错误?
发布于 2020-02-28 13:42:03
在阿波罗客户端的上下文中,有两种类型的错误-- GraphQL错误(响应中的errors数组中返回的错误)和网络错误。任何返回200以外状态的请求都被认为遇到了网络错误。默认的RetryLink配置不是那样细粒度的--它只关心网络错误是否发生,而不关心发生了什么样的错误。如果不想对某些错误重试,请向retryIf配置提供一个attempts函数,如文档中所示
attempts: {
retryIf: (error, _operation) => {
// return true or false depending on the properties on error
}
}
})https://stackoverflow.com/questions/60452293
复制相似问题