记录一次axios请求造成的数组初始化失败
axios请求是一个异步的请求,简单来讲就是在做其他事情的时候可以把这个先放一边等其他的事情做完后再来做这件事件。
我之前这样调用了一个方法:
mounted() {
this.first()
this.next();
}
first(){
this.next();
}
next(){
this.Array = [];
axios.post(url).then((res)=>{
this.Array.push(res)
})
}
可以看到我是调用了两次的next事件,我在next最开始的部分对数组进行了初始化,按照我的预想是这个数组里面始终只有一个接口返回的res数据在里面,但是执行后发现数组里面有两个res。
后来对next和axios打印后发现,first的时候执行了初始化数组,但是并没有立即执行axios,把axios放一边,然后向下执行遇到next,于是再次执行初始化,执行完成后发现没有了,所以就找到axios,因为两次调用了axios所以push了两个res到数组里面去。
把代码改为这样,就解决了:
mounted() {
this.first()
this.next();
}
first(){
this.next();
}
next(){
axios.post(url).then((res)=>{
this.Array = [];
this.Array.push(res)
})
}
严格来讲这个并不是axios请求的锅,是我本身对同步,异步执行的顺序存在理解上的问题,这个锅要自己背。
而最开始我对于同步异步的简单概述其实也是不标准的,对于异步,同步,阻塞,非阻塞还请参考其他大神的详细解释。
记录一次axios请求造成的数组初始化失败的更多相关文章
- JQuery发送ajax请求不能用数组作为参数
JQuery发送ajax请求不能用数组作为参数,否则会接收不到参数, 一.js代码如下: $('#delete-button').click(function(){ var select ...
- nodejs-5.2 axios请求
1.npm官方文档:https://www.npmjs.com/package/axios 2.axios:用于 浏览器 和 node.js的基于Promise的HTTP客户端 请求 特征 从浏览器制 ...
- axios [æk'si:əʊs] 及 axios 请求配置
特征 比Jquery轻量,但处理请求不多的时候,可以使用 基于Promise语法标准 支持nodejs 自动转换JSON数据 用法 get // Make a request for a user w ...
- Axios 请求配置参数详解
axios API 可以通过向 axios 传递相关配置来创建请求 axios(config) // 发送 POST 请求 axios({ method: 'post', url: ' ...
- ajax和axios请求本地json数据对比
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进 ...
- 前端Vue项目——首页/课程页面开发及Axios请求
一.首页轮播图 1.elementUI走马灯 elementUI中 Carousel 走马灯,可以在有限空间内,循环播放同一类型的图片.文字等内容. 这里使用指示器样式,可以将指示器的显示位置设置在容 ...
- 利用LRU策略实现Axios请求缓存
业务场景 前一段时间刚做完一个项目,先说一下业务场景,有别于其他的前端项目,这次的项目是直接调用第三方服务的接口,而我们的服务端只做鉴权和透传,第三方为了灵活,把接口拆的很零散,所以这个项目就像扔给你 ...
- vue 解决axios请求出现前端跨域问题
vue 解决axios请求出现前端跨域问题 最近在写纯前端的vue项目的时候,碰到了axios请求本机的资源的时候,出现了访问报404的问题.这就让我很难受.查询了资料原来是跨域的问题. 在正常开发中 ...
- nginx记录响应与POST请求日志
生产环境中的某些api出现故障,但是问题无法重现,但是又很想解决掉问题以及我们新项目上线,需要跟踪请求与响应的信息,可以预先找到一些bug,减少大面积的损失. 安装nginx与ngx_lua 响应日志 ...
随机推荐
- centos源码安装mysql5.7.25-boost
首先在CentOS6.5的版本安装mysql 创建安装目录,并解压 安装mysql的依赖包.这里需要用到阿里源,去吧阿里源宕到本机 安装依赖包,gcc.gcc-c++.cmake.ncurses-de ...
- [Linux] Configure iSCSI on Linux5 (both target and initiator)
********************************************************************************Target************** ...
- HTTP与HTTPS有哪些区别?
大纲 这里写图片描述一.前言: 这里写图片描述这里写图片描述先来观察这两张图,第一张访问域名http://www.12306.cn,谷歌浏览器提示不安全链接,第二张是https://kyfw.1230 ...
- 报表工具highcharts使用心得
公司让做一个报表页面,搜索了下发现highcharts比较符合业务需求,下面就说一下使用心得. $('#container').highcharts({ title: { text: '部门统计图' ...
- HTML table表格转换为Markdown table表格[转]
举个栗子,当我想要把这个页面的第一个表格转换成Markdown Table时,怎么做更快,效率更高? 只需简单三步,请看示例: 第一步:复制包含HTML table标签的代码 复制table代码(HT ...
- Eclipse如何新建TOMCAT并配置Server Locations和Publishing属性
Eclipse如何新建TOMCAT并配置Server Locations和Publishing属性 2018年05月08日 23:10:33 ACGkaka_ 阅读数:1269 一.建立TOMCA ...
- Unable to correct problems, you have held broken packages
Use aptitude instead of apt-get. It is more intelligent. It not only will handle downgrading conflic ...
- selenium的三种等待方式
selenium有三种等待方式 1.time.sleep() 设置等待最简单的方法就是强制等待,但一般不建议使用,可以在调试的时候进行使用 2.隐性等待 driver.implictily_wait( ...
- zookeeper 启动 zookeeper_server.pid: Permission denied
在启动zookeeper的时候 报错 没有权限 以为是 zookeeper 没有权限 然后 chmod -R 777 zookeeper/ 之后还是不行. 后来 才发现 原来是我 /tmp/zooke ...
- Docker入门教程
一.入门介绍 Docker是一个开源引擎,类似于一个集装箱,开发者通过它可以为任何应用创建一个轻量级.环境无关可移植的容器.开发者在本地编译测试过的容器可以在不同的环境中部署. 通常适用于如下场景: ...