2013-03-22 79 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將根據用戶的帳戶狀態產生不同的效果。

繼續那個例子中,如果存在帳戶和憑據是正確的,你會(新一個曾經爲現有會話,以及一次)覆蓋現有的會議和您的回調會被調用兩次。如果該帳戶不存在或憑據不正確,則可能會首先收到正確會話的一個回叫,然後在收到錯誤憑證後收到錯誤。

這可能有助於聽到一點有關你的具體使用情況和期望的用戶體驗,所以我們可以決定構建你的代碼最清晰的方式。希望有所幫助!

相關問題