promise 的异步请求

created(){
this.getDutyList()
this.getDeptList()
}
mounted() {
 
    if (this.userRole !== 1) {
      this.fetchMultipleData()
      this.getData() //也是一个axios请求
    }
  }
 methods: {
 async getDutyList() {
      const duty = await getDutyList()
      this.Options = duty.items
    },
    async getDeptList() {
      const { items } = await fetchDept()
      this.departmentOptions = items
    }
 }

问题:
mounted的getData方法运行时,Options还没有赋值

我请求了两个下拉框的数据在created生命周期, 然后我在mounted生命周期中的请求用到了this.departmentOptions,我如何用promise处理保障我能在请求到options的时候在调用getData方法呢,这应该是异步操作的问题,但是我对这个不是十分了解

阅读 1.7k
2 个回答
{
    async created() {
       await Promise.all([this.getDutyList(),this.getDeptList()])
    }
}

为什么要放在两个周期里?你又没有用到dom
放一个周期里用async/await串联逻辑

已参与了 SegmentFault 思否「问答」打卡,欢迎正在阅读的你也加入。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题