在我的应用程序中,我有一个我认为是相当标准User
的模型,其 ID 基于经过身份验证的用户的fbRef.getAuth().uid
值(在我的情况下由匿名身份验证提供程序分配)。我有一个全局用户,它随着用户身份验证/取消身份验证而动态更新,使用基本this.store.find('user')
调用填充。
当用户注销,然后使用相同的身份验证 uid 重新验证/登录时,就会出现问题。我在其他当前连接的浏览器的控制台中收到以下错误:
未捕获的错误:尝试
pushedData
在状态为 root.deleted.uncommitted 时处理事件。
(但是请注意,执行注销/重新登录的用户/浏览器没有收到错误)
在这种情况下我还需要做些什么来确保 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();
});