lei-mu / luch-request

luch-request 是一个基于Promise 开发的uni-app跨平台、项目级别的请求库,它有更小的体积,易用的api,方便简单的自定义能力。
https://www.quanzhan.co/luch-request/
MIT License
632 stars 96 forks source link

响应拦截器异常触发 #108

Closed itmanyong closed 1 year ago

itmanyong commented 1 year ago

1.情况:像服务器发送一个get类型的不存在的路径请求,例如:https://127.0.0.1:20/api/v1/menu。请求直接进入了response拦截器的错误拦截处理逻辑中,如下图所示。但是浏览器还没有发出请求(在network中看不到请求的记录)。非跨域,因为在这之前有其他请求成功了的。 2.问题: response异常拦截函数的参数是发送请求的配置参数,结构出来statusCode=undefined。这是出乎预期的。正常无论请求失败成功都应该是返回的数据,而非发送前config配置的数据。 再者,浏览器还未发送请求,便进入了响应拦截器的异常逻辑,这似乎不对 image

itmanyong commented 1 year ago

版本:3.0.8 环境:uniapp最新版编译为h5,edge浏览器运行

lei-mu commented 1 year ago

我用demo 测试没有复现。 检查一下请求拦截器内部是不是出问题,promise 中出现异常,会进入catch。

可以试试 新new 一个实例,看请求是否发出

如果确认自己代码没问题,可以考虑提供可复现的demo 或者,加qq 私发一些关键代码

itmanyong commented 1 year ago

你好。我这边检查了一下,代码逻辑层面没得毛病,发现主要问题在于访问的url不存在的情况就出现这种,服务器返回404,就进入到了response的error中没问题,奇怪的是参数全部都是发送前的配置参数,这一点是否是属预期之内的效果呢

lei-mu commented 1 year ago

参数全部都是发送前的配置参数

这个啥意思?

itmanyong commented 1 year ago

意思是指进入到响应拦截器中的错误逻辑时,收到的参数内容等同于请求拦截器中的config。

lei-mu commented 1 year ago

无法复现,提供可复现的demo