Я хочу прослушать событие прокрутки и обработать их двумя функциями для двух прокрутки.
Один из них нуждается в throttleTime () для сохранения ресурса, а другой не может использовать throttleTime (), потому что он требует немедленного срабатывания и не использует слишком много.
Теперь я добавляю два fromEvent для их обработки, но вопрос в том, что оба они будут запущены, если будет запущено событие прокрутки.
fromEvent(this.vscroll.nativeElement, 'scroll').pipe(throttleTime(200)).subscribe((e) => {
if (this.timer) {
clearTimeout(this.timer);
this.timer = null;
this.timer = setTimeout(() => {
this.updateShow();
}, 201);
} else {
this.timer = setTimeout(() => {
this.updateShow();
}, 201);
}
});
fromEvent(this.vscroll.nativeElement, 'scroll').subscribe((e) => {
(document.body.querySelector('#headerScroll') as HTMLElement).style.marginLeft = -this.vscroll.nativeElement.scrollLeft + 'px';
});
В моем компоненте эти две функции не будут выполняться одновременно, так что я должен сделать, чтобы он вызывал только одну функцию и предотвращал выполнение другой.