react axios 同一個接口(傳不同參數),頻繁操作,上一個請求返回比當前請求返回慢,導致當前頁顯示的上一次請求數據


 

Bug描述:多個Tabs頁面,訪問同一個接口,參數不一樣,點擊上一個TabA,發送請求A,接着繼續點擊TabB,發送請求B, 頁面應該顯示B請求返回的數據,但是頁面返回的是A請求的數據

原因:A請求返回速度慢於B請求, A請求和B請求共用一個方法,渲染的是同一個狀態,導致A請求數據覆蓋了B請求數據

解決辦法:在點擊TabB時,查看是否有未發送成功的請求,並取消還在發送中的請求,也就是關閉請求A

 

axios提供了取消請求的配置:`cancelToken` 指定用於取消請求的 cancel token

 // (查看后面的 Cancellation 這節了解更多) cancelToken: new CancelToken(function (cancel) { })

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM