關於vue的異步導致的一系列問題處理

1、原來項目中使用jquery實現改爲vue後,調用接口的參數出現ajax的嵌套調用,導致第二次axios請求完全沒有任何反應,連請求都沒有發送,很是奇怪;

解決方案:監聽某個屬性(第一次ajax請求拿到的參數)是否發生變化,發生變化再調用第二次函數即可

watch:{ 
'param':{ 
  handler:(val,oldVal)=>{ 
         監聽param (還可以監聽param內部的變化)
  },
  deep:true 
  }
}
2、請求接口之前的參數,需要經過處理,爲簡化代碼調用函數返回值賦給這個參數,但由於vue是異步問題,它並不會等函數走完將值賦給參數再發送請求而是同時執行,導致傳的參是初始值,並未經過處理;

同樣可以利用監聽,當調用過函數,某個變量值發生變化時,再監聽調用ajax請求;

當然這些也可以使用定時器延時,但肯定也不是最佳解決方案;

希望有更好的解決方案可以提供;



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章