Изменить данные внутри оператора карты на другие наблюдаемые - PullRequest
0 голосов
/ 19 сентября 2019

У меня небольшое недопонимание рабочих наблюдаемых.Надеюсь, что кто-нибудь может мне помочь.

Дело в том, что у меня есть две наблюдаемые.Я получаю значение первого и, если оно удовлетворяет моему условию, я хочу изменить данные внутри другого наблюдаемого.И я не хочу их объединять.Когда я пытаюсь изменить данные - я вызываю функцию, и она не входит в map реактивной цепи во второй наблюдаемой.Что я делаю не так?(Я думаю, все это: D)

Я создал грубый пример того, как это выглядит.Вот код и ссылка на игровую площадку

ngOnInit() {

  this.first$ = Observable.create(observer => observer.next(1));

  this.second$ = timer(0, 1000)
    .pipe(
      map(() => this.counter + this.incrementValue)
    )
    .subscribe(data => console.log('second', data));

  this.first$.pipe(
    map(value => {
      console.log('first a', value)
      return this.decrementValueInSecondObs()
    })
  ).subscribe(data => console.log(data))
}

private decrementValueInSecondObs() {
  this.second$
  .pipe(
    map(value => {
      console.log('SECOND VALUE', value)
      return this.counter - 2;
    })
  ).subscribe(a => console.log('first b', a))
}

И * БОНУС : Кто-нибудь может объяснить или прикрепить ссылку, чтобы ответить, почему я могу работать с mapОператор в RXJS, когда я только подписался на его наблюдаемую?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...