Rumah  >  Soal Jawab  >  teks badan

javascript - Mengapa saya mendapat pelaksanaan tak segerak apabila saya memanggil kaedah mutasi dalam vuex?

Saya mempunyai fungsi klik dalam kaedah dalam komponen kanak-kanak

takehash(index){
                   let hash = this.searchList[index].hash;
                   this.$store.commit('playvideo', hash);
                   console.log(this.$store.state.box.Url);
           }

Terdapat kaedah dalam mutasi kedai

playvideo(state,hash){
                   Vue.http.get("json.php"+hash).then(res=> {
                           let jsonObj = res.data;
                        state.box.Url= jsonObj.url;
                        console.log('no');
                   });
            }

Tetapi saya dapati bahawa proses yang saya mahukan ialah melakukan kaedah playvideo, dan selepas melaksanakan kaedah playvideo, konsol keluar dengan URLnya
Tetapi hasilnya ialah konsol keluar dengan URL dahulu, dan kemudian playvideo kaedah telah dilaksanakan. Bukankah mutasi merupakan kaedah segera Mengapa?

PHP中文网PHP中文网2735 hari yang lalu546

membalas semua(2)saya akan balas

  • 给我你的怀抱

    给我你的怀抱2017-05-18 10:52:21

    Secara teorinya mutasi hanya digunakan untuk meletakkan kaedah segerak Mereka tidak boleh menggunakan kaedah tak segerak.
    Dan anda meletakkan kaedah tak segerak dalam playvideo anda.
    Kemudian hasil pelaksanaan mestilah tidak segerak.#🎜🎜

    balas
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-18 10:52:21

    mutasi bukan kaedah segerak

    Penyegerakan mutasi bermakna anda perlu memastikan kaedah dalam mutasi adalah segerak. Ini tidak bermakna mutasi menukar kaedah tak segerak anda kepada penyegerakan.

    Kaedah tak segerak diletakkan dalam tindakan

    balas
    0
  • Batalbalas