2017-09-22 227 views
0

與無限滾動一個博客檢測的變化,客戶端將查詢服務器職位光標基於分頁和實時數據進行離線第一應用

例如max_id = 0,min_id = 0。服務器將回答最新的30條記錄[id:1000,999,998 etc..,970]

現在從客戶下一個請求會問max_id=1000&min_id=970,服務器將有30多個職位回答IDS> 1000或更小的比970 如果沒有新的職位,1000,再進行正常的回覆會編號970-940 。

這是以無限滾動實現的。而對於離線優先應用程序,所有帖子都保存在客戶端,並在下次用戶訪問時顯示。

現在下一次用戶打開應用程序,它將顯示帖子max_id=1000&min_id=930,並且將獲得任何新帖子或獲取更多舊帖子,但是**無法檢測到其中已有的帖子之一中的更改客戶端。 **

say post id = 999已被用戶更新。獲取此更新的唯一方法是將所有帖子重新查詢服務器,就好像沒有緩存帖子一樣。我覺得這是對樂隊的浪費,因爲有99%的時間沒有更新,所以沒有必要這樣做。

是否有一種設計模式可以在離線優先應用程序中解決這一問題?

回答

0

讓我們假設一個場景:

  1. 用戶從服務器上獲取的職位
  2. 應用程序緩存獲取職位3 -
  3. 用戶離開應用程序
  4. 用戶背部和應用顯示緩存的職位,同時從 加載服務器
  5. 用戶在這裏對緩存的帖子採取了行動ü 可以檢查帖子和如果發生某些變化會返回警告在執行動作之前編輯。