Ios Concat运算符RxSwift
我有一些这样的代码:Ios Concat运算符RxSwift,ios,swift,reactive-programming,concat,rx-swift,Ios,Swift,Reactive Programming,Concat,Rx Swift,我有一些这样的代码: let first = Observable<Int>.create({ observer -> Disposable in observer.onNext(1) return Disposables.create() }) let second = Observable.of(4, 5, 6) let observableConcat = Observable.concat([first, second]) observableConca
let first = Observable<Int>.create({ observer -> Disposable in
observer.onNext(1)
return Disposables.create()
})
let second = Observable.of(4, 5, 6)
let observableConcat = Observable.concat([first, second])
observableConcat.subscribe({ (event) in
print(event)
})
let first=Observable.create({observator->Disposable in
onNext观察员(1)
返回一次性物品。创建()
})
设秒=可观测的(4,5,6)
让observetecat=observeable.concat([第一,第二])
ObservableCat.subscribe({(事件)在
打印(事件)
})
关于concat操作符,我所知道的是“它订阅集合的第一个序列,中继其元素直到完成,然后移动到下一个。该过程重复,直到集合中的所有可见项都被使用”。
所以我期望代码片段的结果是1,4,5,6,但我得到的结果只有1。
请告诉我我对concat操作员有什么误解
非常感谢。第一次观察到的
永远不会结束。您可以停止添加take(1)
:
第一次观察到的永远不会结束。您可以停止添加take(1)
:
除了CZ54的答案,你还可以这样做
let first = Observable<Int>.create({ observer -> Disposable in
observer.onNext(1)
observer.onCompleted()
return Disposables.create()
})
let second = Observable.of(4, 5, 6)
let observableConcat = Observable.concat([first, second])
observableConcat.subscribe({ (event) in
print(event)
})
let first=Observable.create({observator->Disposable in
onNext观察员(1)
observer.onCompleted()
返回一次性物品。创建()
})
设秒=可观测的(4,5,6)
让observetecat=observeable.concat([第一,第二])
ObservableCat.subscribe({(事件)在
打印(事件)
})
除了CZ54的答案,您还可以这样做
let first = Observable<Int>.create({ observer -> Disposable in
observer.onNext(1)
observer.onCompleted()
return Disposables.create()
})
let second = Observable.of(4, 5, 6)
let observableConcat = Observable.concat([first, second])
observableConcat.subscribe({ (event) in
print(event)
})
let first=Observable.create({observator->Disposable in
onNext观察员(1)
observer.onCompleted()
返回一次性物品。创建()
})
设秒=可观测的(4,5,6)
让observetecat=observeable.concat([第一,第二])
ObservableCat.subscribe({(事件)在
打印(事件)
})