Я часто нахожу себя в цепочке нескольких запросов HTTP с flatmap, но иногда мне нужно нести результат дальше, чем следующая наблюдаемая. Как бы я поступил так?
Fx:
getAPIKey().flatMap( {key in
return getData1(key)
})
.flatMap({ (key, data) in
return getData2(key, data)
})
.map({ data in
data.transform()
})
.subscribe(onNext: { transformed in
//Do something with data
})
Это не настоящий пример, так что не стоит увлекаться семантикой.