2013-03-22 34 views
0

还是会导致错误?在执行之前调用的回调之前,在FirebaseAuthClient实例上调用方法是否安全?

例子:

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) { ... }); 

回答

0

虽然安全调用这些方法之前的一个完成之前,在你不会打破损坏数据也不会例外被抛出,你可能会看到一些意外(和非确定性)行为,具体取决于用户帐户和会话的状态。

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

继续那个例子中,如果存在帐户和凭据是正确的,你会(新一个曾经为现有会话,以及一次)覆盖现有的会议和您的回调会被调用两次。如果该帐户不存在或凭据不正确,则可能会首先收到正确会话的一个回叫,然后在收到错误凭证后收到错误。

这可能有助于听到一点有关你的具体使用情况和期望的用户体验,所以我们可以决定构建你的代码最清晰的方式。希望有所帮助!

相关问题