angularfire中$ getAuth和$ onAuth之间的区别

时间:2016-04-18 12:43:43

标签: angularjs authentication firebase angularfire

我正在阅读angularfire个文档,我发现$getAuth给出了两个类似的服务$onAuthfirebase,两者都是为了检查用户身份验证而编写的。但我发现两者之间没有任何差异,有人可以为我描述它们吗?

我还想知道使用这些服务的好方案是什么。谢谢

link of official documentation

1 个答案:

答案 0 :(得分:2)

正如$getAuth()的文档所说:

  

同步检索客户端的当前身份验证状态

虽然$onAuth()表示:

  

侦听客户端身份验证状态的更改。当客户端的身份验证状态发生变化时,将触发提供的回调。

如果您需要知道用户是否经过身份验证,请在代码中调用$getAth()。假设您要在用户通过身份验证时在计算中使用不同的价格:

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

另一方面,如果用户通过 进行身份验证时,您希望根据执行某些操作,则可以使用$onAuth()。一个典型的例子是在用户登录/退出时将用户路由到不同的URL。