Как использовать наблюдаемые и каналы в функции rxjs? - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь заставить этот следующий код перейти в вызываемую функцию, а не делать это из события щелчка собственного элемента:

const saveRit$ = Observable.fromEvent(this.saveRitbutton.nativeElement, 'click');
console.log('here', saveRit$);
saveRit$.pipe(
  withLatestFrom(this.account$)
).subscribe(([click, { accountId }]) => {
  console.log('working');
  this.saveRit(accountId).then(() => {
    const years = this.ritForm.controls['lineItems'].value.map(row => row.year);
    this.emitSuccess(years);
  });
});

У меня ограниченные знания о каналах и наблюдаемых, поэтому любой вклад удивителен. Я знаю, что мне больше не нужна переменная saveRit$, но я в растерянности относительно того, что делать .pipe(), когда она будет удалена? Я просто хочу иметь возможность вызывать это из какой-то функции.

1 Ответ

0 голосов
/ 23 января 2019

Так как Observable.fromEvent просто дает вам Observable, мы можем заменить его любым другим Observable. Насколько я вижу из вашего фрагмента, вы хотите подписаться на this.account$.

this.account$.subscribe(account => {
  console.log('working');
  this.saveRit(account.accountId).then(() => {
    const years = this.ritForm.controls['lineItems'].value.map(row => row.year);
    this.emitSuccess(years);
  });
});

Удачи!

...