2017-03-21 130 views
-3

我正試圖在我的項目即聊天機器人上進行自動刷新。當聊天頁面打開並加載對話時,我應定期刷新對話條目列表。 默認情況下,每5秒鐘一次。5分鐘後自動刷新

  1. 如果沒有額外的對話條目刷新,我們應該增加等待時間5秒,最多120秒。
  2. 如果刷新時有其他對話條目,我們應該將等待時間重置爲5秒。
+0

你有什麼試過的?請向我們展示您的代碼... – Ionut

+0

我正在做類似這樣的事情,它不起作用

+1

不要在聊天系統中使用AJAX輪詢。它基本上是DDOSing你自己的服務器。使用WebSockets。 –

回答

0

var delayTime = 5000;

function refresh() { 
     if(chatid.length > 0) { 
     ChatService.getChatDetailsById(chatid) 
      .then(function (result) { 
       if (result.Data.Messages.length > $scope.chatDetails.Messages.length) { 
        getChatDetails(chatid) 
        delayTime = 5000; 
       } else { 
        increseDelay(); 
       } 
       timeout(); 
      }); 
      function increseDelay() { 
       if (delayTime !== 120000) 
        delayTime += 5000; 
      } 
     } 
    } 
    function timeout() { 
     setTimeout(function() { 
      refresh(); 
     }, delayTime); 
    }; 
    timeout();