[英]firestore unsubscribe finished event
我訂閱了firestore中的一個文檔,在我注銷之前我想取消訂閱,否則它會拋出一個錯誤,因為我正在使用firestore安全規則並且當用戶注銷並且我沒有取消訂閱時,訪問將被拒絕並且它會拋出錯誤。
我嘗試了下面的代碼但仍然無法正常工作我仍然從firestore安全規則中得到錯誤,所以我引入了setInterval但它花費了太多時間(在我的測試中我一直到5秒才能避免錯誤)
你有沒有更好的方法來避免這個問題,我的意思是一旦取消訂閱就會觸發一個事件(我想長時間避免 setInterval)?
var unsubscribe = db.collection('notifications').doc('docID').onSnapshot(
function(doc) {
// Do things
})
function logout () {
unsubscribe(
setTimeout(function() {
firebase.auth().signOut().then(() => {
// Redirect to home page
});
}, 600)
)
};
據我所知,退訂是同步的。 所以當unsubscribe()
完成后,你可以退出:
unsubscribe();
firebase.auth().signOut().then(() => {
// Redirect to home page
});
如果在此之后您仍然遇到安全錯誤,您可能仍然為用戶附加了另一個偵聽器。 如果情況似乎並非如此,請編輯您的問題以包含我們可以運行以重現問題的最小、完整/獨立代碼。 或者,您可以(也)在 jsbin 之類的網站上設置問題的最小再現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.