У меня есть приложение, которое потребляет услугу REST. Он делает запросы каждый раз, когда кто-то, например. нажимает кнопку. Однако сначала нужно получить токен, а затем обновлять каждые 20 минут. Вот мраморная схема, представляющая желаемое сочетание потоков ...Реактивный шаблон для расчесывания оператора, где он зависит от другого
TOKEN SOURCE ---------A--------------B--------------C----------------D-
REQUEST SOURCE ----1-----------2--3---------4-----------5-------6--------
RESULT SOURCE ---------A1-----A2-A3--------B4----------C5------C6-------
Обычно источник запроса вызывает результат, который сочетает в себе с последним значением маркера источника, однако есть исключение, когда никакие пункты не имеют был испущен на токен-потоке - в этом случае запрос буферизуется до тех пор, пока не поступит первый токен, а затем он будет отправлен.
Оператор combineLatest
почти присутствует, но он срабатывает при испускании потока. Мраморная диаграмма для оператора sample
также кажется близкой, но она дросселирует выход на основе временного интервала, который не является тем, что я хочу.
Какой оператор/цепочка операторов будет работать для этого экземпляра?
Я прототипирую с RxJS, но мне нужно реализовать в RxSwift.
Эти магические значения интервала - простые числа, поэтому обе последовательности ar e гарантированно не перекрываться. – Asti