异步dispatch怎么做?

mounted里面执行dispatch之后,又在下面的mounted里面执行某个方法,此方法里面有从dispatch里面改变的值,这个值拿不到怎么处理,因为dispatch是异步,怎么变为同步企业微信截图_16639382758603.pnginitmap函数里面的scjydzjd和scjydzwd是执行dispatch之后才有的,此时拿不到这两个数,怎么才能实现:dispatch之后直接拿到这两个数

阅读 1.9k
2 个回答

dispatch 返回的是 Promise,所以你在 action 里返回值,在 dispatch 的地方用 .then() 或者异步函数都可以。

大概如此:

actions.js

export default {
  getData({commit}, payload) {
    return api.fetch('...');
  }
}

my-component.vue

export default {
  async mounted() {
    const data = await this.dispatch('getData', params);
  } 
}

dispatch返回Promise,.then里面取咯

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