我有相对昂贵的操作,所以我愿意执行该操作一次并从中创建 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/