【发布时间】:2018-07-26 01:48:34
【问题描述】:
我有一个信号数组
var signals = [Signal<ActionResult?, NoError>]()
在哪里
enum ActionResult
case failed
case pending
case completed
}
我想创建一个组合信号,如果一个或多个信号触发.pending,则返回 true
let doesAnyOfTheActionsLoad = Signal.combineLatest(signals).map { values in
values.reduce(false, { (result, nextResult) -> Bool in
if result == true { return true }
if case .pending? = nextResult {
return true
}
return false
})
}
我唯一的问题是,combineLatest 只有在所有信号都至少触发一次时才会触发,并且无论是否所有信号都已触发,我都需要触发我的信号。有没有办法在 ReactiveSwift 中做到这一点?
【问题讨论】:
标签: swift reactive-swift combinelatest