Каков наилучший способ получить первое определенное значение из потока и отписаться в RxJS? - PullRequest
1 голос
/ 15 мая 2019

У меня есть следующий код:

this.type$.pipe(
        filter(val => !!val), // skip initial undefined value
        take(1), // unsubscribe after geting the first defined value
        map((type) => {
          this.store.dispatch(new LoadForms(type.schemaUid));
        })
      ).subscribe();

Это шаблон, который я использую в нескольких местах моего приложения. Есть ли способ сократить это, используя любой более умный оператор RxJS? Он должен принять только определенное значение и сразу же отписаться.

1 Ответ

2 голосов
/ 15 мая 2019

Использование single()

this.type$.pipe(
        filter(val => !!val), 
        single()

или с функцией фильтра

this.type$.pipe(
        first(val => !!val),... 
...