我正在阅读angularfire
个文档,我发现$getAuth
给出了两个类似的服务$onAuth
和firebase
,两者都是为了检查用户身份验证而编写的。但我发现两者之间没有任何差异,有人可以为我描述它们吗?
我还想知道使用这些服务的好方案是什么。谢谢
答案 0 :(得分:2)
正如$getAuth()
的文档所说:
同步检索客户端的当前身份验证状态
虽然$onAuth()
表示:
侦听客户端身份验证状态的更改。当客户端的身份验证状态发生变化时,将触发提供的回调。
如果您需要知道用户是否经过身份验证,请在代码中调用$getAth()
。假设您要在用户通过身份验证时在计算中使用不同的价格:
var productPrice = 50;
$scope.price = auth.$getAuth() ? 0.8 * productPrice : productPrice;
另一方面,如果用户通过 进行身份验证时,您希望根据执行某些操作,则可以使用$onAuth()
。一个典型的例子是在用户登录/退出时将用户路由到不同的URL。