RxSwift 订阅序列

RxSwift subscribe sequence

我有两个名为 profileUpdates.

BehaviorRelay 可观察类型的订阅者

通过

发布我的数据

Observables.shared.profileUpdates.accept(data)

订阅代码中的两点(假设AB)通过,

Observables.shared.profileUpdates.subscribe(onNext: { } )

现在,我可以定义能够获取订阅数据的序列,还是它严格依赖于库?

例如,点 A 在点 B 之后,反之亦然。

没有书面合同保证调用订阅的顺序。它们将按顺序调用,但顺序未定义。

最好使用 do 运算符:

profileUpdates
    .do(onNext: { value in
        // perform side effect
    })
    .subscribe(onNext: { value in
        // perform other side effect
    })
    .disposed(by: disposeBag)

但是,过度使用 do 运算符(以及与此相关的中继)会产生代码异味,这意味着您仍在以命令式的方式思考。