今儿调接口的时候报错了

引起这个报错的原因是:

post.js这个文件出了问题,加了一个get接口就报了TypeError

首先注意到这里

溯源到这个文件http.js看instance是什么

var instance = axios.create({timeout: 1000 * 12
});

再根据axios官方文档给出的示例Axios实例

const instance = axios.create({baseURL: 'https://some-domain.com/api/',timeout: 1000,headers: {'X-Custom-Header': 'foobar'}
});

所以说instance是一个自定义的axios实例对象

我们可以发现,上面的报错在于我没有在instance实例对象上挂载get方法就调用,导致报了TypeError

反其道而行,我开始思考为什么这个问题报的错为什么是TypeError而不是别的错误类型

深入研究一下TypeError

TypeError是变量或参数不是预期类型时发生的错误。比如,对字符串、布尔值、数值等原始类型的值使用new命令,就会抛出这种错误,因为new命令的参数应该是一个构造函数。

new 123
//TypeError: number is not a func
var obj = {}; obj.unknownMethod()
// TypeError: undefined is not a function

应该是这样

在声明obj这个变量的时候没有unknownMethod这个方法,然后就会返回一个undefined

再通过obj.unknownMethod()这种形式去试图访问一个unknownMethod函数,但是由于undefined并不是一个函数,(这是两种数据类型,undefined是基本数据类型,而function是引用数据类型),所以报的错是undefined is not a function不就是翻译过来的话嘛,只是说报错的原理是这样解析的

所以,对于axios的instance上的get方法也是同理可得

一方面打通了axios原理,就具备了自己二次封装axios的能力,等待一次实践的机会,原生的axios有很多好东西,在复杂的业务场景中,封装一个优秀的axios会给项目带来很高的请求效率,复用性高,实用性高。

解决TypeError:Cannot read properties of undefined并深入解读TypeError错误类型相关推荐

  1. TypeError: Cannot set properties of undefined (setting ‘xx‘)

    TypeError: Cannot set properties of undefined (setting 'xx') 目录 TypeError: Cannot set properties of ...

  2. 解决“TypeError: Cannot read properties of undefined (reading ‘push‘)“

    报错:"TypeError: Cannot read properties of undefined (reading 'push')" 其实vue-router都配好了,但是还是 ...

  3. 报错,Uncaught TypeError: Cannot read properties of undefined (reading ‘inputValue‘) at <anonymous>

    错误: Uncaught TypeError: Cannot read properties of undefined (reading 'inputValue')     at <anonym ...

  4. Uncaught TypeError: Cannot read properties of undefined (reading ‘push’) ---- vue-router报错

    坑点 在使用vue-router@4的时候,由于vue3中没有this.router这个写法,所以我就将解构router方法,放在了函数中,由于函数有作用域就报了这个错误:Uncaught TypeE ...

  5. vue-router.esm.js?ac56:2316 TypeError: Cannot read properties of undefined (reading ‘$createElement‘

    报错: vue-router.esm.js?ac56:2316 TypeError: Cannot read properties of undefined (reading '$createElem ...

  6. vue发送请求时遇到Uncaught (in promise) TypeError Cannot read properties of undefined(reading ‘randomExtend

    最近在项目中遇到一个前端问题Uncaught (in promise) TypeError: Cannot read properties of undefined(reading 'randomEx ...

  7. 【vue】文件批量上传报错问题解决Uncaught TypeError: Cannot set properties of undefined (setting ‘status‘)

    一.问题描述 最近在vue项目上,使用el-upload组件实现多文件上传功能时出现了如下的报错内容. Uncaught TypeError: Cannot set properties of und ...

  8. vue3 Uncaught (in promise) TypeError: Cannot read properties of undefined 其实是解构赋值的问题

    先看张图,好生奇怪,使用了v-for循环之后突然报错了. 在vue3中当我们用到了解构赋值配合reactive toRefs 方式渲染页面时,报错Uncaught (in promise) TypeE ...

  9. Uncaught TypeError: Cannot set properties of undefined (setting ‘ innerHTML ) 问题

    项目考核已经结束,我想分享一下我这次写项目的收获. 首先是"> Uncaught TypeError: Cannot set properties of undefined (sett ...

最新文章

  1. Python:Bug 官网不要了,全迁去 GitHub
  2. python从外部传入参数_从另一个Python脚本运行一个Python脚本,并传入参数 - python...
  3. 数据库的数据在硬盘上吗
  4. 8.3 matlab图形用户界面设计方法
  5. linux平台 一个简单的helloworld静态库的制作与使用
  6. 路由器网口1一直闪烁正常吗_电信光猫上的网口1一直在闪 网络一直都在闪断
  7. 一个用php抓取网页中电子邮箱的实例
  8. Centre Consortium 发布了USDC 智能合约 2.1 版本
  9. CSS多行文本溢出省略号...显示设置
  10. java基础总结06-常用api类-时间日期类
  11. SQL Server 数据库备份与还原
  12. 在软件测试中UT,IT,ST,UAT分别是什么意思
  13. 十二款硬盘数据恢复软件,百分之九十五的人没听过!
  14. oracle导出excel数据变成科学计数法
  15. 使用LocalStorage存储用户已填写的表单信息(意外刷新后自动填充)
  16. 免费好用的录屏软件OBS-Studio
  17. STM32单片机程序dll实现
  18. APL平台测试版推出.
  19. 天道酬勤之Java 实例 - 数组获取最大和最小值
  20. Ubuntu 安装并切换lightdm图形界面

热门文章

  1. Word和WPS中引入Mathtype的常见问题
  2. linux 开发工具集合
  3. 数据脱敏,你会了吗(二)
  4. 【Interview###】华为、中兴嵌入式(C)笔试题
  5. 301、404、200、304、500等HTTP状态,代表什么意思?
  6. 【继电器模块教程基于Arduino】
  7. Python爬虫4.2 — ajax(动态网页数据抓取)用法教程
  8. 一篇带你读懂用户故事地图
  9. minHash最小哈希
  10. Java 三角形求边长和角度