现象:后台数据有正常返回,但前端promise处理报错。

 原因:

查看了request.js的封装请求,发现当后台请求的status码不为200时,将会reject错误信息出去

 reject函数并不会走入promise的then回调中,而是走入catch回调中,我们再来看看请求的调用情况

可以看到,在使用请求时并未catch错误信息,那么当后台的数据返回的status不为200时,错误信息就无法捕获,自然控制台就报错了。

解决方案:catch错误信息 

 加入了catch回调之后,控制台就不会再报错了,完美解决。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐