Angular Firebase删除用户:客户端不';我没有访问所需数据的权限

Angular Firebase删除用户:客户端不';我没有访问所需数据的权限,angular,firebase,firebase-realtime-database,firebase-authentication,angularfire2,Angular,Firebase,Firebase Realtime Database,Firebase Authentication,Angularfire2,我正在将Ionic2与Firebase数据库(AngularFire2)一起使用 当用户删除其用户配置文件时,它会从Firebase身份验证中正确删除 user: firebase.User ... user.delete().then(() => { 但是,我得到了以下错误: 错误:未捕获(承诺中):错误:权限\u在/聊天时被拒绝: 客户端没有访问所需数据的权限。错误: 权限\在/聊天时被拒绝:客户端没有访问权限 所需的数据 删除用户后,我不会访问Firebase数据库,但仍有订阅 问

我正在将Ionic2与Firebase数据库(AngularFire2)一起使用

当用户删除其用户配置文件时,它会从Firebase身份验证中正确删除

user: firebase.User
...
user.delete().then(() => {
但是,我得到了以下错误:

错误:未捕获(承诺中):错误:权限\u在/聊天时被拒绝: 客户端没有访问所需数据的权限。错误: 权限\在/聊天时被拒绝:客户端没有访问权限 所需的数据

删除用户后,我不会访问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);
        });
    });
}
deleteChatsandMessagesFruid(uid:string):承诺{
返回新承诺((解决)=>{
让promiseArray:Promise[]=[];
push(this.firebaseDataService.deleteChatsandMessagesFruid(uid));
push(this.localDataService.deleteChatsandMessagesFruid(uid));
Promise.all(promiseArray)。然后(()=>{
决心(正确);
});
});
}

我还在每个数据库调用上设置断点,并且在
用户之后不会触发断点。删除

您不能在删除之前而不是在回调中删除聊天数据库条目吗?我会在删除用户之前删除聊天条目。这就是为什么我不明白为什么我会出错。为了测试它,我删除了聊天记录,然后在删除用户之前将window.setTimeout保留5秒钟。但我还是得到了上面的错误。我甚至在任何数据库调用中都设置了断点,并且在删除用户后都不会触发断点。所以我被上面的错误弄糊涂了。你能给我们看一下承诺响应中的代码吗?谢谢,我刚刚更新了上面的代码。这可能与我最近遇到的情况类似,当时我试图在另一个Firebase操作的回调响应中执行Firebase操作,但出现了错误。在我的案例中,我能够通过并行调用绕过它。所以user.delete();chatsDelete();