Если событие срабатывает во время тайм-аута throttleTime, воспроизведите последнее событие после его истечения и снова начните тайм-аут - PullRequest
2 голосов
/ 28 мая 2019

Что я хотел бы увидеть, так это вывод:

|---0--0--0-----0---------------> Events
|---0-------0-------0-----------> Output

Я предоставляю duration, поток пропускает первое событие, ожидает количество продолжительности.Если событие было запущено в течение периода ожидания, сгенерируйте и снова запустите время ожидания.

Значения не имеют значения в моем случае, только знающие события произошли.

Как бы я достиг этого с RXJS?Я начал с throttleTime, но throttleTime не генерирует завершающее событие по истечении времени ожидания.

subject
    .pipe(
        throttleTime(5000)
    )
    .subscribe(
        event => action()
    )

1 Ответ

1 голос
/ 28 мая 2019

Проверьте документы для throttleTime.Вы можете передать необязательный конфиг и указать начальное / конечное поведение.То, с чем вы столкнулись, было:

config:

Optional. Default is defaultThrottleConfig.

a configuration object to define leading and trailing behavior. Defaults to { 
leading: true, trailing: false }.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...