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

为什么我调用vuex中的mutation方法,得到的却是异步执行

为什么我调用vuex中的mutation方法,得到的却是异步执行

米琪卡哇伊 2018-11-13 13:14:25
我在一个子组件中methods里有一个点击函数takehash(index){                   let hash = this.searchList[index].hash;                    this.$store.commit('playvideo', hash);                    console.log(this.$store.state.box.Url);            }store的mutations里有一个方法playvideo(state,hash){                    Vue.http.get("json.php"+hash).then(res=> {                           let jsonObj = res.data;                         state.box.Url= jsonObj.url;                        console.log('no');                    });             }但是我发现我想要的过程是commit playvideo方法后,执行playvideo方法后,console出来他的url,但是结果却是先console出来url,然后才执行playvideo方法,mutations不是同步方法吗,为什么会延迟执行,我刚接触vuex,求大神解决
查看完整描述

1 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

理论上mutations只用来放同步的方法.而不能使用异步.
而你的playvideo里面放了个异步方法.
那执行结果肯定是异步啊.

查看完整回答
反对 回复 2018-12-14
  • 1 回答
  • 0 关注
  • 1594 浏览
慕课专栏
更多

添加回答

举报

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