结合等效的RxJS iif

时间:2020-06-01 01:05:51

标签: swift combine

iif是有用的运算符,可以在运行时决定要订阅哪个Observable。 Swift Combine框架中是否有与发布者相当的产品?如果没有,什么是好的解决方法?

1 个答案:

答案 0 :(得分:1)

没有直接的等效项,但是您可以使用Deferred发布者:

let p1: AnyPublisher<Int, Never> = ...
let p2: AnyPublisher<Int, Never> = ...

let condition = Bool.random()

let iif = Deferred { condition ? p1 : p2 }