[英]Cache offline request in Flutter?
在我的 Flutter 應用程序中,用戶可以查看產品並對其進行評分。 評論應該發布到我的后端,以便我們了解有關產品的整體統計數據和類似內容的信息。 我的問題是,我如何以某種方式緩存請求,以便當用戶在離線狀態下(或者如果他暫時斷開連接)對產品進行評分時,他可以繼續與應用程序的其他部分交互,並且當他再次在線時評論在后台發送?
這里可能還不是答案,因為我無法添加評論,但我也在尋找同樣的問題。 但是我發現有兩個包很有幫助:
flutter_offline
( https://pub.dev/packages/flutter_offline ):處理在線/離線連接的實用程序
hydrated_bloc
( https://pub.dev/packages/hydred_bloc ):持久化和恢復 bloc 狀態(狀態管理的 bloc 模式)。
這個想法是創建一個 Hydrated bloc 來存儲所有待處理的請求,例如,我們稱之為PendingRequestsBloc
。 OfflineBuilder
的flutter_offline
負責檢查當前連接狀態:
如果用戶在線時評分:只需像往常一樣發送請求,同時觸發一個事件ProcessPendingRequests
來檢查PendingRequestBloc
是否有任何未決請求。
如果用戶在離線時收費(您詢問的主要情況):觸發事件AddPendingRequest
將請求添加到您的水合塊中。
在我看來,我們使用 hydrated bloc 而不是普通的 bloc,因為即使我們關閉、終止應用程序,它也可以保持其狀態(其中包含掛起的請求)。
如果您不熟悉 bloc 模式,請訪問https://bloclibrary.dev/獲取官方文檔。 快樂編碼!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.