Dou*_*rea 4 angularjs firebase angularfire
我正在使用angularFire 0.8.2,我正在尝试检查用户的唯一性.
该用户存储在users/[id]中,其中[id]是用于登录/密码用户的simpleLogin生成的id和用于来自社交网络的社交uid(即:facebook:891239120).
因此,当我使用facebook登录时,我需要检查该用户是否已经在firebase中,所以我正在使用(来自angularFire-seed):
var userData = fbutil.syncObject('users/' + user.uid);
userData.$loaded()
.then(function (data) {
if(data) {
console.log('EXISTS');
console.log(data.$id);
} else {
console.log('NOT EXISTS');
}
}, function (err) {
console.error(err);
});
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为始终返回数据对象(即使对象没有关键user.uid不存在)
我发现obj.$ value在obj为空时填充为null,而当obj没有原始值时不存在,但我不确定这是否是检查它的正确方法.
而且我也不知道我是否使用$ asArray on/users它会在firebase上加载每个用户而不是生产它可能会出现性能问题?
Kat*_*ato 13
使用原始值(null为其中之一)时,AngularFire将它们存储在$ value键中.因此,要测试路径中的数据是否存在,您可以简单地执行:
data.$loaded(function() {
var dataExists = data.$value !== null;
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5297 次 |
最近记录: |