簡體   English   中英

在 Flutter 中緩存離線請求?

[英]Cache offline request in Flutter?

在我的 Flutter 應用程序中,用戶可以查看產品並對其進行評分。 評論應該發布到我的后端,以便我們了解有關產品的整體統計數據和類似內容的信息。 我的問題是,我如何以某種方式緩存請求,以便當用戶在離線狀態下(或者如果他暫時斷開連接)對產品進行評分時,他可以繼續與應用程序的其他部分交互,並且當他再次在線時評論在后台發送?

這里可能還不是答案,因為我無法添加評論,但我也在尋找同樣的問題。 但是我發現有兩個包很有幫助:

這個想法是創建一個 Hydrated bloc 來存儲所有待處理的請求,例如,我們稱之為PendingRequestsBloc OfflineBuilderflutter_offline負責檢查當前連接狀態:

  • 如果用戶在線時評分:只需像往常一樣發送請求,同時觸發一個事件ProcessPendingRequests來檢查PendingRequestBloc是否有任何未決請求。

    • 如果有待處理的請求,也發送它們。
    • 如果沒有,請跳過。
  • 如果用戶在離線時收費(您詢問的主要情況):觸發事件AddPendingRequest將請求添加到您的水合塊中。

在我看來,我們使用 hydrated bloc 而不是普通的 bloc,因為即使我們關閉、終止應用程序,它也可以保持其狀態(其中包含掛起的請求)。

如果您不熟悉 bloc 模式,請訪問https://bloclibrary.dev/獲取官方文檔。 快樂編碼!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM