2016-04-18 9 views
2

Ich las angularfire docs, und ich fand zwei ähnliche Dienste $getAuth und $onAuth von firebase gegeben und beide sind für die Überprüfung der Benutzerauthentifizierung geschrieben. Aber ich kann keine Unterschiede zwischen beiden finden, kann jemand sie für mich beschreiben?

und ich möchte auch wissen, dass, was das gute Szenario ist, jeden dieser Dienste zu verwenden.

Dank

link of official documentation

Antwort

2

Da die Dokumentation für $getAuth() sagt:

Synchron ruft den aktuellen Authentifizierungsstatus des Client-

Während für $onAuth() heißt es:

Hört zu für Änderungen des Authentifizierungsstatus des Clients. Der bereitgestellte Rückruf wird ausgelöst, wenn sich der Authentifizierungsstatus des Clients ändert.

Sie würden also $getAth() in Ihrem Code aufrufen, wenn Sie wissen müssen, ob der Benutzer authentifiziert ist. Sagen Sie, dass Sie einen anderen Preis in einer Berechnung verwendet werden sollen, wenn der Benutzer authentifiziert wird:

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

Wenn auf der anderen Seite Sie etwas auf basierend tun wollen würden, wenn der Benutzer authentifiziert ist, werden Sie Verwenden Sie $onAuth(). Ein typisches Beispiel wäre, den Benutzer zu einer anderen URL zu leiten, wenn er sich anmeldet/abmeldet.