为了账号安全,请及时绑定邮箱和手机立即绑定

axios 异步操作执行顺序

axios 异步操作执行顺序

开满天机 2019-03-01 22:19:53
submitPwd () {      if (this.oldPwd !== '' && this.newPwd !== '' && this.password !== '') {        console.log(111)        axios.post(httpUrl.checkOldPwd, this.oldPwd)        .then(res => {          console.log(222)          this.status = true        })        .catch(err => console.log(err))        console.log(333)        console.log(this.status)        if (this.status) {          console.log('旧密码验证通过')        } else {          console.log('旧密码输入错误')        }      } else {        console.log('密码不能为空')      }    }data中 status: false以上代码为一个提交密码的方法案例,理想状态的输出顺序应该是:111222333true旧密码验证通过但是实际输出顺序是:111333false旧密码输入错误222这是为什么?
查看完整描述

2 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

因为你的console.log(333)是在catch外面的。。
如果看不懂的话,学习一下Promise

查看完整回答
反对 回复 2019-03-07
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

axios是异步请求,在它外面且在下面的代码不会等待它完成,会直接开始运行,而异步请求体里面的内容会在其请求成功或者失败才执行相应的代码。


查看完整回答
反对 回复 2019-03-07
  • 2 回答
  • 0 关注
  • 1238 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信