RxSwift 结合异构的 observables
Posted
技术标签:
【中文标题】RxSwift 结合异构的 observables【英文标题】:RxSwift Combining heterogeneous observables 【发布时间】:2019-07-23 10:36:53 【问题描述】:我在 Realm 数据库中有两个对象聊天和消息。我从 db 获取并获得两个 observables。消息对象有chatId,我可以通过它获取聊天对象。 chats() - 给出 Observable messages() - 给出 Observable
问题是当我在messages() 上使用map 函数时,我得到了chatId,现在我需要聊天数组来过滤chatId 并获取聊天对象。
我该怎么做?我可以结合两个可观察对象并在单个闭包中发出两个数组吗?如果是,那么如何?
【问题讨论】:
【参考方案1】:根据上下文,您想使用combineLatest
或withLatestFrom
。
我不太了解上下文,因为您说您有一个 Observable<[Message]>
,但您从该数组中获得了一个 chatID
。我希望你能得到一组聊天 ID。
【讨论】:
是的,你是对的。我确实使用了combinedLatest。 let combineObservable: ObservableStack Overflow Chat, [Message])> = Observable.combineLatest(useCases.output.chats(), useCases.output.allMessages())以上是关于RxSwift 结合异构的 observables的主要内容,如果未能解决你的问题,请参考以下文章