2015-07-02 2 views
0

с RXJs я пытаюсь добиться чего-то вроде этого:RxJS: Возьмите каждые Х секунд

  1. clickStream.bufferWithTime(500).subscribe(f)
  2. clickStream.throttle(500).subscribe(f)

Version 1 звонки f каждые 500 мс независимо от того, существует ли clickEvent или нет. Версия 2 вызывает f, только если clickStream отправил clickEvent, а затем остановился на минимум 500 мс.

Я бы хотел позвонить f каждые 500 мс до тех пор, пока clickStream излучает события. Как только он прекратит излучать, f должен быть вызван в последний раз. Если clickStream перезапускается, чтобы испустить то же самое должно произойти снова.

ответ

3
clickStream.bufferWithTime(500).filter(arr => arr.length > 0).subscribe(f) 
Смежные вопросы