[英]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
来取消订阅您的observable。
像这样的东西:
unhover$
.debounceTime(500)
.switchMap(evt => Rx.Observable.of(evt)
.takeUntil(hover$)
)
.subscribe(console.log);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.