我有一系列信号
var signals = [Signal<ActionResult?, NoError>]()
在哪里
enum ActionResult
case failed
case pending
case completed
}
我想创建一个组合信号,如果一个或多个信号触发一个返回 true.pending
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 中做到这一点?