我正在用expo建立一個小型聊天應用程式,與Firestore相連。以下是獲取聊天資料的代碼:
useEffect(() =>/span> {
console.log("Loading snapShots on firebase") 。
const unsubscribe = db.collection('chats') 。 onSnapshot(span class="hljs-params">snapshot => (
setChats(snapshot.docs.map(doc => ({
id: doc.id,
data: doc.data()
})))
))
setTimeout(()=>/span>{
unsubscribe()。
}, 1000)。)
}, [])
如果我遵循正確的檔案,這段代碼通常應該在一秒鐘后關閉snapShot監聽器。如果它這樣做了,我仍然得到一個[FirebaseError: Quota exceeded.]訊息,我的應用程式非常小,資料也是。
uj5u.com熱心網友回復:
Firebase配額每天在午夜(太平洋時間)重置。根據你的時區,可能會有所不同。如果你位于歐洲,它實際上可能是在一天的中間。因此,如果你達到了每天的限制,你沒有什么可以做的,只能等到 "下一天"。或者你可以更新到Spark計劃。
。但是請記住,一旦你收到配額超標的訊息,你的專案將無法訪問,直到配額被重置。
正如@Dharmaraj在他的評論中提到的,你也可以考慮使用get()呼叫,而不是監聽實時變化。通過這種方式,您將附加一個監聽器,一旦您獲得資料,該監聽器將自動打折。
也請記住,不要保持你的Firebase控制臺開放,因為它被認為是另一個讀取資料的Firestore客戶端。因此,你也將為來自控制臺的讀取資料而被收費。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/325745.html
標籤:
