У меня есть функция getCurrentStatus()
, которая возвращает логическое значение, когда я подписываюсь на этот метод, он всегда возвращает null, а затем true, когда я пытаюсь получить последнее значение (true), используя функцию last () из rxjs, не работает, он всегда выполняет обработку 2, которая возвращает ноль с начала.
import { last } from 'rxjs/operators';
this.getCurrentStatus().pipe(last()).subscribe(status => {
console.log(status);
if (status) {
// treatment 1
} else {
// treatment 2
}
});
private status$: Subscription;
getCurrentStatus(): Observable<Boolean> {
if (!this.status) {
this.status$ = this.store.pipe(select(fromUserSelector.getAuthStatus)).subscribe((status: Boolean) => {
this.status = status;
});
}
return of(this.status);
}