使用先前删除的ID创建的记录会生成未捕获的错误

Bil*_*ami 1 ember.js ember-data firebase emberfire

在我的应用程序中,我认为我是一个相当标准的User模型,其ID基于经过身份验证的用户的fbRef.getAuth().uid值(在我的情况下由匿名身份验证提供程序分配).我有一个全局用户,可以在用户进行身份验证/取消身份验证时动态更新,并使用基本this.store.find('user')调用进行填充.

当用户注销,然后使用相同的身份验证重新进行身份验证/登录时,就会出现问题.我在其他当前连接的浏览器的控制台中收到以下错误:

未捕获错误:pushedData在状态root.deleted.uncommitted中尝试处理事件.

(但请注意,执行注销/重新登录的用户/浏览器不会收到错误)

在这种情况下我还需要做些什么来确保emberfire自动删除的记录在每个连接的客户端的缓存存储中完全提交,或者这是某种限制?

作为参考,以下是我在用户登录时创建记录的方式:

var user = this.store.createRecord('user', {
    id: fbRef.getAuth().uid,
    nickname: nickname,
    joinedAt: new Date()
});

user.save();
Run Code Online (Sandbox Code Playgroud)

当他们退出时:

this.store.find('user', fbRef.getAuth().uid).then(function(user) {
    user.destroyRecord();
});
Run Code Online (Sandbox Code Playgroud)

Sar*_*ara 5

每次调用时authAnonymously(),每次创建新会话时都会创建一个新的uid.您可以在Firebase信息中心中配置会话长度.

如果您希望用户登录和退出您的应用程序,我建议您使用Firebase的电子邮件和密码身份验证或与我们的任何第三方提供商进行身份验证.