Впервые в RxSwift / Reactivex. В основном то, что я пытаюсь сделать, - это вызывать сервер всякий раз, когда что-то происходит, но следить за тем, чтобы это происходило не чаще, чем каждые 10 секунд. Если возможно, реже.
Например, всякий раз, когда генерируется событие («требуется обновление»), я хотел бы немедленно вызвать сервер, если с момента моего последнего вызова прошло более 10 секунд. Если прошло меньше времени, я хотел бы позвонить через 10 секунд после последнего. Неважно, сколько событий было сгенерировано за эти 10 секунд.
Я просмотрел описание throttle
, но, похоже, он умирает от голода, если события происходят очень быстро, что нежелательно.
Как я могу этого добиться?