vue 鉤子函式 使用async await

2021-09-07 20:33:38 字數 730 閱讀 4272

示例:

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生命週期簡介 咱們...