第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

大佬們遇到過這個問題嗎?vue.js混入mixins謝謝哈~

大佬們遇到過這個問題嗎?vue.js混入mixins謝謝哈~

藍山帝景 2019-09-19 22:48:08
//init.jsconsthi={asynccreated(){awaitthis.getToken()}}//業(yè)務組件mixins:['init']asyncmounted(){awaitthis.getUserInfo()}上述代碼為我開發(fā)了一個vue全局混入js,每個頁面進入都會調用this.getToken(),然后這個方法返回一個token,而業(yè)務組件中this.getUserInfo()這個方法調用接口依賴于this.getToken()接口的返回值。目前的問題時,按照上述代碼先執(zhí)行的this.getToken(),后執(zhí)行的this.getUserInfo(),但是我需要拿到第一個方法的返回值后再去調用this.getUserInfo()方法,但是現在第一個接口調用后,立馬去調第二個接口,此時我還沒有拿到第一個接口返回來的token。init.js為公共js這個問題應該怎么解決
查看完整描述

2 回答

?
largeQ

TA貢獻2039條經驗 獲得超8個贊

解決方式很多種,在我看來最簡單的方案就是在init.js后面觸發(fā)個自定義鉤子
consthi={
asynccreated(){
awaitthis.getToken()
this.getTokenAfter&&this.getTokenAfter()
}
}
然后把你寫在mounted里面的方法放在methods下面這個自定義鉤子里
methods:{
getTokenAfter:asyncfunction(){
awaitthis.getUserInfo()
},
                            
查看完整回答
反對 回復 2019-09-19
?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

首先你的這種方式使用并不能保證生命周期函數之間是同步執(zhí)行的,只能保證生命周期函數內部是同步執(zhí)行的,你可以這樣
//init.js
consthi={
asynccreated(){
awaitthis.getToken()
this.getUserInfo()
},
methods:{
getUserInfo(){}//啥都不寫,具體在相關業(yè)務組件中重寫即可
}
}
//業(yè)務組件
mixins:['init']
methods:{
getUserInfo(){
//你的具體業(yè)務代碼
...
}
}
                            
查看完整回答
反對 回復 2019-09-19
  • 2 回答
  • 0 關注
  • 425 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號