现象:后台数据有正常返回,但前端promise处理报错。
原因:
查看了request.js的封装请求,发现当后台请求的status码不为200时,将会reject错误信息出去
reject函数并不会走入promise的then回调中,而是走入catch回调中,我们再来看看请求的调用情况
可以看到,在使用请求时并未catch错误信息,那么当后台的数据返回的status不为200时,错误信息就无法捕获,自然控制台就报错了。
解决方案:catch错误信息
加入了catch回调之后,控制台就不会再报错了,完美解决。