我有两个可观测量,hover$
和unhover$
,分别在悬停和模糊时触发。
unhover$
有一个debounceTime(500)
来推迟它过快。
现在考虑一下这个时间表:
[ 0ms] hover triggered
[ 50ms] unhover 500ms debounce started
[ 100ms] hover triggered
[ 550ms] unhover triggered
我如何取消'当unhover$
序列发出新值时,第一个待定的hover$
?
答案 0 :(得分:3)
如果通知程序Observable发出值,您可以使用takeUntil
取消订阅您的observable。
这样的事情:
unhover$
.debounceTime(500)
.switchMap(evt => Rx.Observable.of(evt)
.takeUntil(hover$)
)
.subscribe(console.log);