有没有办法在Rxjs中更新throttleTime。你正在靠近页面底部滚动,所以我们每隔400ms只需要一次节流,当你越靠近顶部时,我们会增加到100ms,因为目标区域在那个区域
this.scrollSubscription$ = this.scrollSubject$
.asObservable()
.throttleTime(200, undefined, throttleTimeConfig)
.subscribe(event => this.throttledScrollHandler(event));
我要做的是有两个单独的下标,因为我找不到这样做的方法。
this.slowerSubscriber$ = this.scrollSubject$
.asObservable()
.throttleTime(400,.......
我想我会问,因为我无法想到实现它的另一种方式
答案 0 :(得分:2)
您可以使用throttle
来实现自己的静默期:
// Make this function extract the position using scrollY, page offsets or whatever you want to use
const getScrollPositionFromEvent = event => 42;
this.scrollSubject$.asObservable()
.throttle(event => Observable.interval(
getScrollPositionFromEvent(event) <= 100 ? 100 : 400
))
.subscribe(console.log);
您可以看到一个有效的例子here。它只是通过给定的输入发出,在您的情况下,它将基于滚动偏移。