ios - 从单个 Observable 创建多个 Observable - RxSwift

标签 ios observable rx-swift

我有相对昂贵的操作,所以我愿意执行该操作一次并从中创建 2 个 Observables

这是它的样子:

let outputObservable1: Observable<Bool>
let outputObservable2: Observable<Bool>

(outputObservable1, outputObservable2) = inputObservable1.zip(inputObservable2).map { booleanCondition1, booleanCondition2 in
   // different condition combinations create different outputObservables
}

我猜 map 在这里不是正确的运算符,因为它只会产生一个可观察值。如何混合和匹配条件并一次返回 2 个 Observables

最佳答案

根据我的理解,你只需要使用map

let inputs = Observable.zip(inputObservable1, inputObservable2)
    .share() // you only need this if one of your inputs is making a network request.

let outputObservable1 = inputs
    .map { first, second in 
        return true // or false depending on the values of first & second.
    }
let outputObservable2 = inputs
    .map { first, second in 
        return true // or false depending on the values of first & second.
    }

关于ios - 从单个 Observable 创建多个 Observable - RxSwift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53377393/

相关文章:

javascript - 如何链接一个期望来自 Observable 的参数值的 Promise?

rxjs - API 返回一个我需要解析的数组;每个项目一个请求

ios ->- 运算符在 RxSwift 中是什么意思,它在哪里记录?

ios - 显示tableView时,如何将tableView单元排列为不同的顺序?

ios - UITableViewController 中的多个自定义原型(prototype)单元格

ios - 如何访问推送通知中的参数

ios - 核心数据 NSFetchedResultsController 批量大小

ios - heightForRowAtIndexPath 内的当前单元格高度?

javascript - Angular:来自 observable 的法线数组

swift - 等待 mergeLatest 直到 #selector 被调用