[英]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.