我想修改下面的angularFire代码(摘自docs:https://www.firebase.com/docs/web/libraries/angular/guide.html#section-angular-authentication),这样如果用户没有登录,它也会在页面加载之前登录用户,并且用户数据可以立即使用。
这是原文:
resolve: {
"currentUser": ["simpleLogin", function(simpleLogin) {
return simpleLogin.$getCurrentUser();
}]
}这就是我到目前为止所拥有的:
resolve: {
"currentUser": ["simpleLogin", function(simpleLogin) {
return simpleLogin.$getCurrentUser();
}],
"loginUser": ["simpleLogin", function(simpleLogin) {
return simpleLogin.$login("anonymous", {rememberMe : true} );
}]
}但这将导致用户每次登录,从而重置ID (我认为?)。我如何有条件地这样做,使他们只登录,如果还没有?
发布于 2014-09-24 14:44:07
与其使用两种解决方法,不如将它们联系在一起。由于$login返回了一个承诺,这是相当顺利的:
resolve: {
"currentUser": ["simpleLogin", function(simpleLogin) {
return simpleLogin.$getCurrentUser().then(function(user) {
if( user === null ) {
// log in now...
return simpleLogin.$login('anonymous', {rememberMe: true});
}
else {
// logged in!
return user;
}
});
}]
}https://stackoverflow.com/questions/26001370
复制相似问题