繁体   English   中英

当它发出某个值时,取消可观察的订阅

[英]unsubscribe from observable when it emits a certain value

当我收到某个值时,如何退订可观察对象?

像这样 :

 let tempSub: Subscription = this.observable$.subscribe(value => {
    if (value === 'somethingSpecific') {
      tempSub.unsubscribe(); 
      // doesn't work 
      //because when this is reached tempsub is undefined
    }
  });

您可以使用takeWhile运算子

source.takeWhile(val => val === 'somethingSpecific');

要么

this.observable$
.takeWhile(val => val === 'somethingSpecific')
.subscribe(value => {
 // .. do something
});

别忘了导入

这是一个示例https://jsfiddle.net/btroncone/yakd4jgc/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM