Итак, у меня есть этот сервис:
var module = angular.module('app.shared.user', []);
module.service('userService', ['$q', '$http', 'firebaseService', function($q, $http, firebaseService) {
this.isAdmin = undefined;
this.userIdToken = undefined;
let defered = $q.defer();
this.promise = defered.promise;
this.setIdToken = function (token) {
this.userIdToken = token;
defered.resolve(token);
console.log("resolved in user service");
};}])
Я бы хотел использовать его в конфигурации моего приложения.Я попробовал то, что предложено здесь , но дело в том, что этот метод создает другой экземпляр моей службы в качестве провайдера.
Поэтому, когда setIdToken () вызывается в моем контроллере, мое обещание разрешается в одном случае.Но когда я жду его в моей конфигурации приложения, он никогда не разрешается (другой экземпляр службы, поэтому другой экземпляр переменных).
Поэтому моя цель состоит в том, чтобы использовать эту службу в качестве службы в моем контроллере, который вызывает метод, который разрешает обещание, объявленное в моем сервисе, и ожидает разрешения этого же обещания в конфигурации моего приложения.
Это то, что я также пробовал в конфигурации своего приложения, но безуспешно:
function config(userService) {
userService.promise.then(function (token) {
console.log("token", token);
});
}
config.$inject = ["userServiceProvider"];
app.config(config);
Есть идеи?Заранее спасибо