我有一個簡單的網路應用程式,它使用 Firestore 接收實時更新。為簡單起見,我可以使用檔案中的示例來演示該問題:
const unsub = onSnapshot(doc(db, "cities", "SF"), (doc) => {
console.log("Current data: ", doc.data());
});
我沒有使用離線持久性,而是使用 v 9.6.8。
在正常情況下,一切都按預期作業。但是,當我失去連接時,即使在連接恢復后,我也不會收到斷開連接時發生的更改的通知(我通過進入“飛行模式”來模擬這一點)。
我考慮過但尚未嘗試過的一種選擇是從設備訂閱連接事件(在線和離線 Windows 事件)。在追求這個選項之前,我想知道是否有更簡單或更好的解決方案。
uj5u.com熱心網友回復:
Firestore 會同步檔案的狀態,而不必同步該狀態下的所有更改。
因此,如果在您離線時對檔案進行了多項更改SF,并且后來的一些更改抹去了之前發生的更改,那么您將看不到那些較早的更改。只有在重新建立連接時,您才會看到正確的當前狀態。
如果您想查看所有狀態更改,請考慮將這些實際狀態更改存盤在資料庫中(例如,在updates子集合中),以便以后對相同資料的更改不會覆寫它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/446133.html
標籤:javascript 火力基地 谷歌云火库
