小编Bil*_*ams的帖子

RxJs - 我可以将BehaviorSubject 与takeUntil 一起使用吗?

我想使用BehaviorSubject 使用 takeUntil 取消订阅另一个 Observable。当我使用 takeUntil 订阅 Observable 时,它​​似乎立即取消订阅。这段代码适用于主题,但我想要一个初始值集。

我正在使用 rxjs 5.5.6

//MyService1
class Observable1 {
  status1: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);

  displayStatus1(val: boolean) {
    this.status1.next(val)
  }
}

//MyService2
class Observable2 {
  status2: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);

  displayStatus2(val: boolean) {
    this.status2.next(val)
  }
}

//MyComponent
status: boolean;

constructor(private myService1: MyService1, private myService2: MyService2) {
   this.subscribeToObservable1();
   this.subscribeToObservable2();
}

subscribeToObservable1() {
  this.myService1.status1.subscribe((val: boolean) => {
    console.log('val: ', val);
  }
}

subscribeToObservable2() {
  this.myService2.status2
    .takeUntil(this.myService1.status1)
    .subscribe((val: boolean) => {
      this.status = val;
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript behaviorsubject rxjs5

3
推荐指数
1
解决办法
5042
查看次数

标签 统计

behaviorsubject ×1

javascript ×1

rxjs5 ×1