如何取消rxjs Observable的订阅

时间:2022-07-25
本文章向大家介绍如何取消rxjs Observable的订阅,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

源代码:

ngOnInit(): void {
     const ob = new Observable(function subscribe(observer) {
      // 追踪 interval 资源
      const intervalID = setInterval(() => {
        observer.next('hi');
      }, 1000);
      // 提供取消和清理 interval 资源的方法
      return function jerryunsubscribe() {
        debugger;
        clearInterval(intervalID);
      };
    });

    const jerry = ob.subscribe((x) => console.log(x));
    jerry.unsubscribe();
    
  }

在Observable的subscribe方法执行时,会进行取消即unsubscribe的注册:

注册到这个私有字段了:

直接call 之前调用subscribe方法返回的对象的unsubscribe方法即可取消订阅: