在 RxSwift 中,我如何才能在更改發生BehaviorRelay之前觀察到?
我試過了:
object.subscribe(onNext: {...})
只有在設定了新值后,我才會收到通知。
uj5u.com熱心網友回復:
簡短的回答是,你不能。解決方法取決于您為什么想要以前的值。例如,如果您想將之前的值與新值進行比較,您可以使用.scan. 像這樣的操作員會這樣做:
extension ObservableType {
func withPrevious() -> Observable<(Element?, Element)> {
scan((Element?.none, Element?.none)) { ($0.1, $1) }
.map { ($0.0, $0.1!) }
}
}
標準免責宣告:
Subjects [和 Relays] 提供了一種在 Rx 周圍進行探索的便捷方式,但是不建議將它們用于日常使用...而不是使用主題,而傾向于使用工廠方法... -- Rx 簡介
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/441317.html
上一篇:從存盤的拋出函式中拋出錯誤
