关于一个取消请求的问题

来源:6-6 拦截器封装

mike0326

2023-08-13

场景是这样的:
在一个页面初始化的时候会一起发送10个请求,这个10个请求都会验证 token(这个 token 已经失效了),在第一个请求发送了之后,服务器返回了 token 失效的 code。我的需求就是,怎么在这里取消后边发送的请求,因为我已经知道了 token 失效了。就不需要后边的接口请求了。

写回答

2回答

河畔一角

2023-08-17

请求确实可以取消,需要在创建的时候生成一个token,不过话说回来,发送10个请求,并不会因为前面失效而出现十个错误提示,因为请求是需要消耗时间的,一旦第一个请求回来,就立马重定向到了登录页,那后续还没来得及发送的请求就不会有提示,可能会出现2-3个错误提示。

0
2
河畔一角
回复
mike0326
这个可以做个计数,比如首页发送五个请求,在请求拦截器里面就count++,会加五次。在响应拦截器里面,没收到一个返回值,就减1,报错的时候直接设置为0,只有大于0的才显示报错信息。
2023-09-15
共2条回复

Kandy

2023-08-13

大概思路
前端,配置一个请求拦截器,一个响应拦截器,如配置了axios。
当第一个请求被响应拦截器拦截后,判定token是否过期了,一般是自己在后端定义的响应状态码,前端响应拦截器来判定是否是token过期,就把token清空。
其他请求在发起请求时被请求拦截器拦截,判定token是否存在来拦截发起请求。
0
3
mike0326
回复
Kandy
不是的,是因为我统一处理了报错,10个请求报错,就会有10个报错提示
2023-08-14
共3条回复

React18+TS 通用后台管理系统解决方案落地实战

全面提升React高阶技能,灵活驾驭各类后台管理系统开发痛点

624 学习 · 226 问题

查看课程