Я часто обнаруживаю, что сам связываю несколько HTTP-запросов с плоской картой, но иногда мне нужно переносить результат дальше, чем следующий наблюдаемый. Как бы я это сделал?
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
})
Это не актуальный пример, так что не зацикливайтесь на семантике.
Я также разместил этот вопрос в Slack для RxSwift.
Это ответ, который я получил от Жолта Варади (vzsg)
getFoo().flatMap { foo in
getBars(ofFoo: foo.id).map { bars in (foo, bars) }
}
Надеюсь, это поможет кому-то другому