2016-04-18 25 views
2

我正在閱讀angularfire文檔,我發現兩個類似的服務$getAuth$onAuthfirebase給出,兩者都是爲了檢查用戶身份驗證而編寫的。但是我找不到他們倆之間的任何區別,有人能爲我描述他們嗎?

而且我也想知道使用這些服務的好方案是什麼。由於

link of official documentation

回答

2

至於$getAuth()的文件說:

同步方式獲取客戶端的當前認證狀態

雖然$onAuth()它說:

監聽以更改客戶端的身份驗證狀態。提供的回調將在客戶端的身份驗證狀態更改時觸發。

因此,如果您需要知道用戶是否已通過身份驗證,則可以在代碼中調用$getAth()。說,你要在計算中使用了不同的價格,當用戶進行身份驗證:

var productPrice = 50; 
$scope.price = auth.$getAuth() ? 0.8 * productPrice : productPrice; 

如果在另一方面,你會希望做基於東西的時候用戶通過驗證後,你會使用$onAuth()。一個典型的例子是當用戶登錄/退出時將用戶路由到不同的URL。