Я новичок в реактивном мире, и теперь у меня есть проблема:
У меня есть две функции, которые возвращают наблюдаемые:
func connect() -> Observable<Connection>
а также
func execute(_ statement: Statement) -> Observable<Result>
Что мне теперь нужно сделать, так это то, что connect
должно выполняться до execute
, а затем я должен вернуть результат execute
...
Я думал, что сделаю это, запустив функцию execute
внутри функции map
наблюдаемого объекта, возвращаемого connect
, например так:
public func executeFetch(_ query: Statement) -> Observable<Result> {
return self.connect()
.map({ (connection) -> Result in
return execute(query) // here is my problem because execute returns an Observable<Result>.
})
}
Но поскольку execute
возвращает Observable<Result>
, я получаю Observable<Observable<Result>>
Как я могу решить эту проблему?