请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于一个取消请求的问题

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

正在回答 回答被采纳积分+3

2回答

河畔一角 2023-08-17 23:01:56

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

0 回复 有任何疑惑可以回复我~
  • 提问者 mike0326 #1
    需求是只出现一个登录过期的错误提示
    回复 有任何疑惑可以回复我~ 2023-09-15 20:53:12
  • 河畔一角 回复 提问者 mike0326 #2
    这个可以做个计数,比如首页发送五个请求,在请求拦截器里面就count++,会加五次。在响应拦截器里面,没收到一个返回值,就减1,报错的时候直接设置为0,只有大于0的才显示报错信息。
    回复 有任何疑惑可以回复我~ 2023-09-15 20:57:16
Kandy 2023-08-13 11:39:57
大概思路
前端,配置一个请求拦截器,一个响应拦截器,如配置了axios。
当第一个请求被响应拦截器拦截后,判定token是否过期了,一般是自己在后端定义的响应状态码,前端响应拦截器来判定是否是token过期,就把token清空。
其他请求在发起请求时被请求拦截器拦截,判定token是否存在来拦截发起请求。
0 回复 有任何疑惑可以回复我~
  • 提问者 mike0326 #1
    我就是为了断开之前发的请求,所以此方法无法解决我上边的问题
    回复 有任何疑惑可以回复我~ 2023-08-13 17:18:21
  • Kandy 回复 提问者 mike0326 #2
    你是不是想把例如已经其他登录的用户踢下线呀?
    回复 有任何疑惑可以回复我~ 2023-08-13 17:46:31
  • 提问者 mike0326 回复 Kandy #3
    不是的,是因为我统一处理了报错,10个请求报错,就会有10个报错提示
    回复 有任何疑惑可以回复我~ 2023-08-14 18:27:18
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信