В моем сервисе есть функция, которая возвращает Observable (запрос http), который должен быть сформирован специальным токеном.Поэтому, прежде чем я смогу получить эту функцию, мне нужно получить токен, чтобы можно было сделать запрос.
Я искал способы связать эти запросы или получить этот токен, чтобы убедиться, что он существует до того, как будет выполнен этот запрос, а потому, что это делается в конструкторе, когда вы загружаете страницу самой первойвремя, когда токен отсутствует, и HTTP-запрос не выполняется.
В настоящее время в моем сервисе есть блок if, например:
if (!this.activeDirectoryToken) {
this.adalService
.acquireToken('https://graph.windows.net')
.subscribe(token => {
this.activeDirectoryToken = token;
// RETURN OBS LOGIC OF THE SECOND HTTP REQUEST USING THE TOKEN
});
} else {
// RETURN OBS LOGIC OF THE SECOND HTTP REQUEST USING THE TOKEN
Но, конечно, если я попытаюсь подписатьсядля этой функции и запуска блока if будет выдано сообщение об ошибке, поскольку для этого типа подписка не будет существовать.
Я также храню токен в хранилище избыточных данных и подписываюсь на него в конструкторесервис, и у меня есть другой блок if, чтобы сделать запрос на него в случае, если он пуст / ложно.
Тем не менее, первый запрос все еще не выполнен из-за отсутствия установленного токена.