我有以下代码:

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运算符来缩短它?它只应使用已定义的值,然后立即取消订阅。

最佳答案

使用single()

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


或具有过滤功能

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

关于javascript - 从流中获取第一个定义的值并取消订阅RxJS的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56146420/

10-16 13:08