Vue解決axios接口異步請求數據不同步返回的問題


一、針對methods里的函數使用ajax異步請求后端數據的時候,往往會因為請求還未返回數據,方法后的一些動作已經開始執行了,若涉及到需要運用后端返回的數據的時候,會發現拿到的是為空的數據,這個時候可以通過設置延遲或者回調函數進行操作。
通過回調函數返回數據
methods:{
    test(callback) {
        const _this = this;
        get(diaoyong, {action: 'check'}).then(function (res) {
        callback(res.data)
    })
    },
},
 
mounted(){
    const _this = this;
    _this.test(function (data) {
    _this.list = data;
    })
}    

當遇到那種axios接口請求里同時又包含另一個axios接口請求的情景時,需要等待里面的接口返回數據后再繼續執行下面的代碼,這個時候可以使用async和await,只需要在下面相應的位置添加上去即可,如果有多個包含的接口,相應加await。

 

 

 

二、設置時間延遲
setTimeout(() => {
延遲的代碼
},延遲時間);
 
三、定時器的設置
setInterval(() => { 定時執行的代碼 }, 時間(默認毫秒))
 
 
 


免責聲明!

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



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