Vue - 和后端保持長時間通信之輪詢


公司有個業務場景需要實時的數據展示,所以當然要不斷的獲取后端傳來的最新的數據來渲染到頁面上。這里我們就可以使用輪詢,簡單來說就是在一個間隔事件內不斷的請求后端接口,讓他不斷的吐數據出來。

1.首先需要一個觸發事件

我的觸發事件是vue的生命周期mounted(),你可以用點擊事件代替,也可以用生命周期

2.有一個定時器

定時器我選擇setTimeout而不是setInterval,因為setInterval太不可控了,一旦頁面刷新就會觸發兩個setInterval,而setTimeout自帶清除,所以我們使用setTimeout可控一些

3.有一個被觸發事件

這個被觸發事件里寫具體的業務邏輯,和再一次啟動定時器的作用

具體代碼-Vue實現

export default{
  mounted(){
      this.getStatus(); // 輪詢事件mounted時觸發  
   },
   ........
   getStatus(){
          let _this = this;
          this.axios.post("你的api",{})
          .then(res) =>{
             // .... 業務邏輯
             setTimeout(function(){
                   _this.getStatus();
              },200)
          }
      }
}    

 


免責聲明!

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



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