RxSwift 订阅序列
RxSwift subscribe sequence
我有两个名为 profileUpdates
.
的 BehaviorRelay
可观察类型的订阅者
通过
发布我的数据
Observables.shared.profileUpdates.accept(data)
订阅代码中的两点(假设A
和B
)通过,
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
运算符(以及与此相关的中继)会产生代码异味,这意味着您仍在以命令式的方式思考。
我有两个名为 profileUpdates
.
BehaviorRelay
可观察类型的订阅者
通过
发布我的数据Observables.shared.profileUpdates.accept(data)
订阅代码中的两点(假设A
和B
)通过,
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
运算符(以及与此相关的中继)会产生代码异味,这意味着您仍在以命令式的方式思考。