Огляделся и ничего, что я нашел, вполне подходит моей проблеме Как я могу сделать остальную часть кода .ts, чтобы дождаться окончания наблюдаемого.
Я новичок в Angular и все еще пытаюсь понять, как работают Observables. Я знаком с использованием их в моих шаблонах с '| async ', но их использование для получения данных в моих файлах .ts не работает так, как я ожидал.
Я хочу, чтобы все ждали, пока Наблюдение завершится, прежде чем двигаться дальше. Моя цель здесь - установить переменную класса «кратко» на основе ответа моей наблюдаемой.
Я собираюсь использовать эту переменную
К сожалению, переменная инструктажа никогда не меняется. Я уверен, что это фундаментальное недоразумение с моей стороны.
Мой класс сводится к:
export class briefValidatorComponent implements OnInit{
briefed: boolean = false;
output: customObjectTwo;
@Input() inputOne: customObject;
@Input() inputTwo: customObject;
ngOnIt(){
this.userService
.getBriefingReflectedForUser()
.subscribe(response => {
this.briefed = response.briefingInCasport; //Returns true
console.log(this.briefed); //Prints true
});
console.log(this.briefed); //Prints false
functionOne(objectOne, objectTwo);
}
functionOne(objectOne, objectTwo){
//does some work with the briefed variable to
//determine what the output will be
}
РЕДАКТИРОВАТЬ: Извините, должен был быть более полным с моим намерением. Остальная часть кода еще не написана, потому что я попал в тупик.
У меня будет другая функция, которая оценивает некоторые входные данные, чтобы определить, какой будет вывод. Затем я буду ссылаться на этот вывод в моей dom, чтобы изменить то, что там будет показано.
Я изучил выполнение всей работы в методе подписки, но тогда я не смог бы изменить вывод для ссылки на dom.