繁体   English   中英

如果另一个序列发出,则取消可观察

[英]Cancel observable if another sequence emits

我有两个observable, hover$unhover$ ,分别在悬停和模糊时触发。

unhover$有一个unhover$ debounceTime(500)来推迟它太快。

现在考虑这个时间表:

 [    0ms] hover triggered
 [   50ms] unhover 500ms debounce started
 [  100ms] hover triggered
 [  550ms] unhover triggered 

hover$ sequence发出新值时,如何“取消”挂起的第一个unhover$

如果通知程序Observable发出一个值,您可以使用takeUntil来取消订阅您的o​​bservable。

像这样的东西:

unhover$
.debounceTime(500)
.switchMap(evt => Rx.Observable.of(evt)
  .takeUntil(hover$)
)
.subscribe(console.log);

暂无
暂无

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

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