我正在使用Ionic2和Firebase数据库(AngularFire2)。
当用户删除其用户个人资料时,会从Firebase身份验证中正确删除。
user: firebase.User
...
user.delete().then(() => {
但是,我收到以下错误:
错误:未捕获(在承诺中):错误:在/ chat处的permission_denied: 客户无权访问所需数据。错误: permission_denied at / chat:客户没有访问权限 想要的数据。
删除用户后,我无法访问Firebase数据库,但仍有正在进行的订阅。
问题
有没有办法在Firebase数据库被删除时取消注册Firebase数据库,这样我就不会收到上述错误?
由于
更新
以下是更多信息:
this.dataService.deleteChatsAndMessagesForUid(personModel.uid).then(() => {
window.setTimeout(() => {
user.delete().then(() => {
其中
deleteChatsAndMessagesForUid(uid: string): Promise<any> {
return new Promise<any>((resolve) => {
let promiseArray: Promise<any>[] = [];
promiseArray.push(this.firebaseDataService.deleteChatsAndMessagesForUid(uid));
promiseArray.push(this.localDataService.deleteChatsAndMessagesForUid(uid));
Promise.all(promiseArray).then(() => {
resolve(true);
});
});
}
我还在每个数据库调用上放置了断点,并且在user.delete
之后都没有触发。