如果服务器的响应在 10 秒后出现,则取消 axios 请求
Posted
技术标签:
【中文标题】如果服务器的响应在 10 秒后出现,则取消 axios 请求【英文标题】:Cancel axios request, if response from server comes after 10 seconds 【发布时间】:2022-01-14 01:28:06 【问题描述】:我在我的 react-native 应用程序中使用 axios 来进行 api 调用。我需要做的是 取消 api 请求 并在 10 秒后显示出现问题屏幕但没有响应。 让我知道是否有办法做到这一点。
【问题讨论】:
hook axios的错误处理器会不会更正确? ***.com/questions/57382537/… export const CancelToken = axios.CancelToken;让 source = CancelToken.source(); source && source.cancel('操作因新请求而取消。'); 【参考方案1】:您可以配置超时时间(默认约为 5 秒),也可以使用这个:
用于添加超时:
const instance = axios.create(
baseURL: 'https://some-domain.com/api/',
timeout: 10000, // in miliseconds
headers: 'X-Custom-Header': 'foobar'
);
对于 axios v0.22.0:
const controller = new AbortController();
controller.abort()
对于旧版本:
CancelToken
Check this for more information
【讨论】:
这里面怎么配置超时秒数为10秒?以上是关于如果服务器的响应在 10 秒后出现,则取消 axios 请求的主要内容,如果未能解决你的问题,请参考以下文章
java axis2 调用webservice 怎么捕获超时异常(即超时了让它停下来,不要报错)