0

还是会导致错误?

例子:

authClient = new FirebaseAuthClient(baseRef, function(error, user) { ... });

// Try to log in...
authClient.login('password', {email: 'some_email', password: 'some_password'});

// Before the callback from the previous line of code executes...
// Oh wait, I forgot to signup in the first place, let me do that:
authClient.createUser('some_email', 'some_password', function(error, user) { ... });
4

1 回答 1

0

虽然在前一个方法完成之前调用这些方法是安全的,因为您不会破坏损坏的数据,也不会引发异常,但您可能会看到一些意外(和不确定)的行为,具体取决于用户的状态帐户和会话。

例如,如果检测到现有会话(通过查看浏览器 cookie 和 localStorage),FirebaseAuthClient将尝试恢复它,这涉及快速验证步骤。在该步骤完成之前调用login将产生不同的效果,具体取决于用户的帐户状态。

继续该示例,如果帐户存在且凭据正确,您将覆盖现有会话,并且您的回调将被调用两次(一次用于现有会话,一次用于新会话)。如果帐户不存在,或者凭据不正确,您可能会先收到一个正确会话的回调,然后在收到错误凭据后出现错误。

了解更多有关您的特定用例和所需用户体验的信息可能会有所帮助,因此我们可以确定构建代码的最清晰方法。希望有帮助!

于 2013-03-22T07:10:00.430 回答