vue的created方法异步执行函数

问题描述

vuecreated方法中的函数执行顺序。

相关代码

 created() {
    this.fetchMinerTypesList()
    this.fetchCoinsList()
    this.fetchMiners()
    console.log(this.$route.query)
    this.fetchMinersList()
  },

你期待的结果是什么?实际看到的错误信息又是什么?

希望在this.fetchMinerTypesList()this.fetchCoinsList()两个函数执行完,再执行this.fetchMiners();最后执行this.fetchMinersList()

阅读 6.8k
2 个回答

可以使用async/await

 async created() {
    await this.fetchMinerTypesList()
    await this.fetchCoinsList()
    await this.fetchMiners()
    await this.fetchMinersList()
  },

简单的方法就是请求里面写回调函数 然后请求完成之后在回调里面执行下一个请求 但是请求多了这种方法就太鸡肋

常用的就是
promise.all 或者axios.all

https://es6.ruanyifeng.com/#docs/promise#Promise-all
你需要详细看一下 封装请求 以后用到的地方很多

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题