Heim > Fragen und Antworten > Hauptteil
Ich habe eine Klickfunktion in Methoden in einer untergeordneten Komponente
takehash(index){
let hash = this.searchList[index].hash;
this.$store.commit('playvideo', hash);
console.log(this.$store.state.box.Url);
}
Es gibt eine Methode in den Mutationen von Store
playvideo(state,hash){
Vue.http.get("json.php"+hash).then(res=> {
let jsonObj = res.data;
state.box.Url= jsonObj.url;
console.log('no');
});
}
Aber ich fand, dass der Prozess, den ich wollte, darin bestand, die Playvideo-Methode festzuschreiben, und nach der Ausführung der Playvideo-Methode kam die Konsole mit ihrer URL heraus.
Aber das Ergebnis war, dass die Konsole zuerst die URL und dann das Playvideo herausgab Methode wurde ausgeführt. Sind Mutationen keine synchrone Methode? Ich bin neu bei Vuex, bitte helfen Sie mir, das Problem zu lösen
淡淡烟草味2017-05-18 10:52:21
mutations不是同步方法吗
mutations 同步的意思是你要保证 mutations 里的方法是同步的,并不是 mutations 把你异步的方法变成同步。
异步方法放在 actions 里