ajax實現輪詢

wade3po發表於2019-01-23

ajax,每一個前端開發都用過,都知道它一般是非同步的,也能同步使用。websocket,沒開發過實時監聽資料的專案一般不會用過。

我們都知道聊天是需要長連線的,一般使用websocket,那麼在一些場景下我們不想使用比較耗費資源的長連線,又想實現資料監聽,這時候我們就會使用ajax的輪詢。

那Ajax的輪詢是什麼?其實ajax輪詢一般分為兩種。

第一種是設定一個定時器,無論有無結果返回,時間一到就會繼續發起請求,這種輪詢耗費資源,也不一定能得到想要的資料,這樣的輪詢是不推薦的。

第二種輪詢就是在第一次請求的時候,如果返回資料了那麼就在成功的回撥裡面再次發起這個請求,就像遞迴一樣,呼叫本方法。如果時間太久,失敗了,同樣的再次呼叫這個請求,也就是本函式。當然,長輪詢也需要後臺配合,沒有資料改變的時候就不用返回,或者約定好邏輯。

ajax的輪詢就是這麼簡單,不難,但是用不好就會造成效能上很大的問題,謹慎使用。

歡迎關注 Coding個人筆記 公眾號

相關文章