amb
ReactiveX:
given two or more source Observables, emit all of the items from only the first of these Observables to emit an item or notification
给两个或多个Observable
,amb
只发送其中一个,不管是next
,error
,completed
事件。哪个先执行完成,就发送哪一个,其他的全部忽略。
let a = Observable<Int>.just(0)
let b = Observable<Int>.just(1)
let c = Observable<Int>.just(2)
Observable<Int>.amb([a, b, c])
.subscribe { event in
switch event {
case .next(let element):
print("element:", element)
case .error(let error):
print("error:", error)
case .completed:
print("completed")
}}
.disposed(by: bag)
输出:
element: 0
completed
因为a
先执行成功。