为什么带有多个可观察对象的RxSwift concat似乎不起作用?

问题描述 投票:2回答:2

我的RxSwift代码是,

func testOperators(){

    let bag = DisposeBag()

    let observable1 = PublishSubject<String>()
    let observable2 = PublishSubject<String>()

    Observable.concat([observable1, observable2])
        .subscribe(onNext: { (value) in
            print(value)
        }).disposed(by: bag)

    observable1.on(.next("1"))
    observable1.on(.next("2"))

    observable2.on(.next("3"))
    observable2.on(.next("4"))

    observable1.on(.completed)
    observable2.on(.completed)
}

当前输出为,

1
2

我的预期输出是,

1
2
3
4

我缺少什么,可以添加/编辑以获得期望的输出?

ios swift observable concat rx-swift
2个回答
1
投票
如果将observable2转换为具有足够大缓冲区的ReplaySubject,则它将重放为每个订阅者接收到的所有事件,并且您将获得所需的输出。

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.