在項(xiàng)目開發(fā)中遇到一個(gè)問題唯袄,頁面中執(zhí)行的操作需要通過兩個(gè)接口返回的數(shù)據(jù)進(jìn)行操作,但是兩個(gè)接口因?yàn)閿?shù)據(jù)量大小蜗帜,返回的時(shí)間不一定恋拷,經(jīng)常會(huì)出現(xiàn)一個(gè)完畢,但是另一個(gè)還在執(zhí)行厅缺。
因?yàn)槭欠旁趦蓚€(gè)方法里蔬顾,所以也沒法做到通信,然后通過查axios文檔發(fā)現(xiàn)了解決辦法
可以這么寫
axios.all([axios.post("/test1"),axios.post("/test2")]).then((test1,test2)=>{
console.log('兩個(gè)接口都執(zhí)行完畢啦')
})
這么寫就完美的額解決了湘捎,但是我想把兩個(gè)接口放在兩個(gè)方法里诀豁,因?yàn)槲蚁朐趧e的地方單獨(dú)調(diào)這兩個(gè)接口,因?yàn)閍xios是封裝好的窥妇,沒法修改舷胜,所以需要修改已經(jīng)寫好的方法就可以了
/*
在methods中這么寫
*/
get_table(){
return new Proimse((resolve,reject)=>{
this.$axios.post("/test1").then((res)=>{
resolve()
})
})
}
get_select(){
return new Proimse((resolve,reject)=>{
this.$axios.post("/test2").then((res)=>{
resolve()
})
})
}
/*
然后在created中這么寫即可
*/
Promise.all([this.get_table(), this.get_select()]).then(()=>{
console.log('我是created中的事件,現(xiàn)在兩個(gè)接口都執(zhí)行完畢啦')
})