Le service d'authentification utilisateur angularjs firebase ne communique pas avec les vues

J'ai un service qui transmet le pseudonym paramètre à l'environnement. J'appelle ce pseudonym dans mes points de vue, mais cela n'apparaît pas du tout.
Comment puis-je réparer cela pour afficher la valeur dans mes vues?

Service MyUser :

 app.service('MyUser', ['DatabaseRef', 'firebase', function(DatabaseRef, firebase) { var pseudonym =""; var userId = firebase.auth().currentUser.uid; return { pseudonym: function() { DatabaseRef.ref('/users/' + userId).once('value') .then(function (snapshot) { pseudonym = snapshot.val().pseudonym; console.log("pseudony: ", pseudonym); return pseudonym; }); } } }]); 

Dans ma console, je vois la valeur du pseudonym . Mais pas dans ma vue html en utilisant {{pseudonyme}}
Et voici l'exemple de contrôleur de vue:

 app.controller('ExampleCtrl', ["MyUser", function (MyUser) { $scope.pseudonym = MyUser.pseudonym(); }]); 

Retournez la promesse créée par la méthode .then :

 app.service('MyUser', ['DatabaseRef', 'firebase', function(DatabaseRef, firebase) { //var pseudonym =""; var userId = firebase.auth().currentUser.uid; return { getUserName: function() { //return promise return ( DatabaseRef.ref('/users/' + userId).once('value') .then(function onSuccess(snapshot) { let pseudonym = snapshot.val().pseudonym; console.log("pseudony: ", pseudonym); return pseudonym; }) ); } } }]); 

Ensuite, extrayez la valeur de cette promesse:

 var app = angular.module('app', []); app.controller('loginController',['$scope', 'MyUser',function($scope, MyUser) { let promise = MyUser.getUserName(); //Extract data from promise promise.then( function onSuccess(pseudonym) { $scope.pseudonym = pseudonym; console.log($scope.pseudonym); }); }]); 

La méthode .then d'un objet renvoie toujours une promesse dérivée de la valeur (ou de la promesse) renvoyée par la fonction de gestionnaire fournie comme argument à cette méthode .then .