一,现象
uni.request在接口状态码403等还是走success,按道理应该走fail的。
![在这里插入图片描述](https://img-blog.csdnimg.cn/dd6a5d4e7d104369afe5df364bbe0c99.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA56yR6YGT5LiJ5Y2D,size_20,color_FFFFFF,t_70,g_se,x_16)
二,原因
看了官网,这个success是指:“收到开发者服务器成功返回的回调函数”,也就是说,无论后端返回的状态码是啥,只要是后台有返回,就代表接口请求成功了,就会走这个success。
所以,正常使用这个uni.request的时候,需要手动地去根据后台的状态码,来判断是resolve还是reject。
可以简略地这样写一下(实际上大型点的项目,这个错误地处理应该单独弄个模块文件来管理,这里只是说明这个问题的处理):
![在这里插入图片描述](https://img-blog.csdnimg.cn/9b73c1c8b11c4551b4e28f67a4eed77c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA56yR6YGT5LiJ5Y2D,size_18,color_FFFFFF,t_70,g_se,x_16)