如何解决中断后重新订阅活动
我想在未从testEl.current元素发出mouseMove的情况下,从文档的mouseMove事件调用updatePosition函数:
const cursor$ = fromEvent<MouseEvent>(document,'cursor')
const scroll$ = fromEvent(document,'scroll').pipe(throttleTime(50))
const mousemove$ = fromEvent<MouseEvent>(document,'mousemove')
const stickymove$ = fromEvent<MouseEvent>(testEl.current,'mousemove')
const stickyenter$ = fromEvent<MouseEvent>(testEl.current,'mouseenter')
const stickyleave$ = fromEvent<MouseEvent>(testEl.current,'mouseleave')
mousemove$.pipe(subscribeOn(animationFrameScheduler),takeUntil(stickyenter$)).subscribe(event => updatePosition(event))
mousemove$.pipe(subscribeOn(animationFrameScheduler),skipUntil(stickyleave$)).subscribe(event => updatePosition(event))
解决方法
repeatWhen
发出时,请使用stickyleave$
重新订阅。
mousemove$.pipe(
subscribeOn(animationFrameScheduler),takeUntil(stickyenter$),repeatWhen(() => stickyleave$)
).subscribe(event => updatePosition(event))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。