Я работаю над проблемой RX swift, чтобы имитировать 4 нажатия пользователя. Требуется, чтобы они происходили асинхронно в ответ на другие события в RX. Поэтому я не могу использовать таймеры или интервалы.
Я думаю о функции, которая будет «вытягивать» из наблюдаемого, который может выдавать до 4 значений, а затем завершать работу. У меня вопрос:
Какой оператор позволяет мне «тянуть» или проходить через все элементы наблюдаемой от начала до конца?
func recursive(duration: int) -> Observable<Int>
{
// logic that may terminate recursion based on network conditions
//logic to terminate if number of taps exceeded
If I take from the taps array observable, and it completes - terminate recursion
}
Идея состоит в том, чтобы попытаться создать «чистую» реализацию RX, не полагаясь на внешние переменные. Я думаю о Zip
, но изо всех сил пытаюсь понять, как это связано с рекурсивным характером решения.