Получить последнее значение от подписки - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть функция 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);
  }
...