【发布时间】:2020-02-06 20:58:33
【问题描述】:
我订阅了 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)
)
};
【问题讨论】:
标签: javascript google-cloud-platform google-cloud-firestore