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

时间:2014-10-13 22:43:13

标签: ember.js ember-data firebase emberfire

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

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

  

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

(但请注意,签出/重新登录的用户/浏览器没有收到任何错误)

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

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

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

user.save();

当他们退出时:

this.store.find('user', fbRef.getAuth().uid).then(function(user) {
    user.destroyRecord();
});

1 个答案:

答案 0 :(得分:5)

每次调用authAnonymously()时,每次创建新会话时都会创建一个新的uid。您可以在Firebase控制台中配置会话长度。

如果您希望让用户登录和退出您的应用,我建议您使用Firebase email & password auth或使用我们的任何third-party providers进行身份验证。