示例:
vue(,
async created(),100)
//5的輸出順序也不是在1後面
console.log(5)
},async mounted(),100)
//6的輸出順序也不是在2後面
console.log(6)}})
通過設定created和mounted中定時時間不同,檢視控制台輸出順序。
完全亂套!
只能保證最先輸出3 其次輸出4。
await後的 5 和 6 也不是在await後輸出。
結論是:所有的鉤子函式都只是在指定時間執行而已,框架並不關心它們執行的結果,所以你要做的是將async和await放到真正有非同步的methods的方法中。
更新!上面****打臉!
await後不能接收非promise物件。
請參考:
await settimeout(...) 或者 await exec(...) 是不行滴,await 不是什麼都等,它等待的只是promise,你如果沒有給他返回個promise,那它還是會繼續向下執行。
所以 await 等待的不是所有的非同步操作,等待的只是promise。
所以await 擋不住啊!
vue 鉤子函式
一共有十乙個,但是常見的八個,常用的三四個 beforecreate 建立之前 常用 vue建立之前,data未生產。在beforecreate前,所有的options都會先存到vm.options中,在beforecreate之後,將 options裡的data,props,methods等等乙個...
vue 鉤子函式
beforerouteenter to,from,next 1 this undefined 2 this.data undefined 3 methods 裡面的方法 undefined 4 如果有快取,該方法不會被呼叫 beforecreate 1 如果有快取,該方法不會被呼叫 2 this.d...
vue鉤子函式
前言 鉤子就好像是把人的出生到死亡分成乙個個階段,你肯定是在出生階段起名字,而不會在成年或者死亡的階段去起名字。或者說你想在出生階段去 也是不行的。元件也是一樣,每個階段它的內部構造是不一樣的。所以一般特定的鉤子做特定的事,比如ajax獲取資料就可以在mounted階段。一 vue生命週期簡介 咱們...