问题:在Vue项目中使用axios调用一个第三方的接口时,前端无法获取到接口返回值,检查控制台Network发现接口请求已经正常发出并且有数据返回,但是控制台Console报了这么一个错误

上图可以看到接口请求正常响应并有返回,控制台却一直报错 Uncaught (in promise)

排查一番之后发现,是接口响应拦截器里面的问题,原本封装好的请求方法里面response.data.code == 0才算请求成功,因为我们自己这边的接口请求成功时响应的code值为0,但是今天访问的是第三方的接口,这个接口请求成功时返回的code值为200,从上图可看出,所以这个请求的响应被拦截掉了,从而Promise.reject(rejection)报错。

解决办法:修改拦截器里面的判断,将code为200也视为成功(这里根据实际接口返回做修改)

axios.interceptors.reponse.use(res => {
// 请求成功对响应数据做处理,此处返回的数据是axios.then(res)中接收的数据
if (res.code ==0 || res.code == 200) {
// code值为 0 或 200 时视为成功
return Promise.resolve(res)
}
return Promise.reject(res)
}, err => {
// 在请求错误时要做的事儿
...
// 此处返回的数据是axios.catch(err)中接收的数据
return Promise.reject(err)
})

修改完之后,前端就能正常拿到接口的返回值了。

以上方法可供参考,可能还有其他造成这个报错的原因

前端Uncaught (in promise) 的解决方法及原因的更多相关文章

  1. 网页视频不能自动播放?HTML5 video报错Uncaught (in promise) DOMException解决方法

    话说发哥四年前写了一个网页,如上图效果,实际网址http://pano.z01.com ,话说做好时是正常的,突然某一天,客户说你这个网站动画不见了,这是什么原因? 结果检查脚本一切正常. 其实也不是 ...

  2. 无法启动 Maya 集成的 qt designer 的解决方法和原因 以及 中英文切换

    无法启动 Maya 集成的 qt designer 的解决方法和原因 以及 中英文切换 前言: Maya 集成了 PySide,同时集成了qt designer,在 Maya 的安装目录下的 bin ...

  3. android下前端开发诡异bug记录&解决方法

    1.border-radius有bug,围不住background 描述:设置了border-radius后,背景色依然会从圆角里冒出来 解决方法:在设置了border-radius的容器加上back ...

  4. 转载---HttpUrlConnection发送post请求汉字出现乱码的一个解决方法及其原因

    原文:http://blog.csdn.net/qqaazz211/article/details/52136187 在网上看到了这篇比较简单的解决方法,果然有用,特记之 解决方法是:将 out.wr ...

  5. Java中使用com.sun相关jar包出现编译错误,但是运行没有错误的解决方法和原因

    [解决方法]如果你用的是Eclipse 在preference->java->complier->errors/warning->deprecated and restrict ...

  6. Uncaught SyntaxError: Unexpected token <解决方法

    最近剥离基础框架的公共部分,早上有个页面部分流程未加载出来,报了Uncaught SyntaxError: Unexpected token <,网上搜了下 错误原因:js脚本中非正常引用外部的 ...

  7. long型长整数字在前端页面显示异常及其解决方法

    文章目录 1.引子 2.解决问题 (1)初试EL表达式取long型数值 (2)再探EL表达式取字符串格式long型数值 (3)最后一试---给EL表达式加引号 3.总结 1.引子 在做项目中,发现了一 ...

  8. jsonp 跨域Uncaught SyntaxError: Unexpected token :解决方法

    [jQuery]Ajax实现跨域访问JSON Ajax跨域访问JSON 环境:.net4.0+jQuery+JSON.net 因为在跨域实现,所以这里新建网站,这个网站只需要Ashx文件 public ...

  9. Error: invalid "instanceof" keyword value Promise的解决方法

    执行npm run dev 时,发现错误 Error: invalid "instanceof" keyword value Promise 经过一番查找,发现原因是webpack ...

  10. shiro拦截所有报 Uncaught SyntaxError: Unexpected token '<' 解决方法

    改成 -> filterChainDefinitionMap.put("/css/**", "anon");filterChainDefinitionMa ...

随机推荐

  1. 伴鱼:借助 Flink 完成机器学习特征系统的升级

    ​简介: Flink 用于机器学习特征工程,解决了特征上线难的问题:以及 SQL + Python UDF 如何用于生产实践. 本文作者陈易生,介绍了伴鱼平台机器学习特征系统的升级,在架构上,从 Sp ...

  2. Jaeger插件开发及背后的思考

    ​简介: 本文主要介绍Jaeger最新的插件化后端的接口以及开发方法,让大家能够一步步的根据文章完成一个Jaeger插件的开发.此外SLS也推出了对于Jaeger的支持,欢迎大家试用. 随着云原生 + ...

  3. 2019-8-31-C#-大端小端转换

    title author date CreateTime categories C# 大端小端转换 lindexi 2019-08-31 16:55:58 +0800 2018-05-28 10:21 ...

  4. 以 standalone 模式启动 Aapche Pulsar

    以 standalone 模式启动 Aapche Pulsar standalone 模式常用于开发测试阶段,请勿在生产环境使用. 目录 以 standalone 模式启动 Aapche Pulsar ...

  5. 指定Task任务顺序执行

    经常听到说线程池这个东西,凭印象写了个这么简单的例子. CusTRun方法要不要await,取决于要不要作为后台任务.任务可指定数量,线程参数可共享全,顺序可控,可继续改进. using System ...

  6. vue-在公共icon封装组件里使用svg图标

    1.安装svg-sprite-loader.package.json:"svg-sprite-loader": "^3.9.2", 2.build/webpac ...

  7. 04.1 go-admin自动化上线到生产环境 nginx配置上线vue和go

    目录 简介 基于Gin + Vue + Element UI的前后端分离权限管理系统 一. 上线思路 1.1 首先确保项目前后端在本地可以都可以正常跑起来,如果不会可以去看一下作者的视频教程 1.2 ...

  8. nim 6. 使用包

    本来想按照制作包 - 发布包 - 使用包的顺序写.发现制作包一时还没搞懂,先看看怎么使用包吧. nim的包管理工具,是自带的 nimble.  nimble的官方包列表是:Nim package di ...

  9. blocks (单调栈)

    题目描述 解析 对于这道题,他要求大于k的数进行操作,所以直接让每个数减k,然后用前缀和维护一下与0比较就可以了,因为一段区间和的平 均值大于k的话,那么这就是一个合法区间,即为操作后的这个区间和大于 ...

  10. Java异步编程CompletableFuture

    Java 通过多线程可以实现异步编程,下面是一个使用 Java 多线程实现异步编程的示例: public class AsyncDemo { public static void main(Strin ...