【发布时间】:2013-05-28 09:30:56
【问题描述】:
下面是我正在玩的示例代码:
var myRootRef = new Firebase('https://url.firebaseIO.com/');
var authClient = new FirebaseAuthClient(myRootRef, function(error, user) {
if (error) {
// an error occurred while attempting login
console.log(error);
} else if (user) {
// user authenticated with Firebase
console.log('User ID: ' + user.id + ', Provider: ' + user.provider);
} else {
// user is logged out
console.log('logged out!');
login();
}
});
function login(){
var email = "something@gmail.com";
var password = "123";
authClient.login('password', {
email: email,
password: password,
rememberMe: true
});
}
我得到的错误是:Cannot call method 'login' of undefined
authClient 似乎总是为空?我做错了什么?
【问题讨论】:
-
[Firebase 工程师] @Kato 是正确的,这是因为您获得的第一个回调(对于注销状态)正在同步调用。我将更改此行为,以便异步调用它,这应该可以解决您遇到的问题,尽管此处建议的所有其他解决方案也是正确的。