rxjs debounce и интервал

Есть много информации и вопросов о методе debounce RXJS. Но я не могу понять, почему этот самый простой пример не работает:

Rx.Observable.interval(1000)
  .debounce(() => Rx.Observable.interval(2500))
  .subscribe(result  => console.log(result, '!'));

Интервал испускает инкрементный номер каждую 1 секунду (предположим, ---- это одна секунда)

---1---2---3---4---5
---------d---------d

В этом случае я ожидал увидеть 2 and 5 цифры, но это ничего не показывает.

Что я делаю не так?

1 ответ

Решение

debounce ждет, пока не будет произведен выброс в течение x раз, а затем выдаст последнее значение

-a-b-b-c----a---
----------c----a

Если вы хотите иметь только одно значение на каждые x единиц времени, вы можете посмотреть на buffer или же window операторы

Другие вопросы по тегам