[英]RxSwift: how to build up the observable function call chain other than use callback?
我正在嘗試解決異步順序問題,例如:
myclass中有一個'OriginalData',我想對其進行一些順序操作:operationA,operationB和operationC:
操作A接受原始數據並返回輸出A,完成后,操作B應將輸出A作為輸入並返回輸出B,然后移至操作C。
我所做的是使用回調:
// pseudocode
class Myclass {
func operationA(inputA, callback: operationB)
func operationB(inputB, callback: operationC)
..
}
結果,如果使用回調,將導致回調地獄並帶來很多麻煩。 我變成了RxSwift,但是不確定如何使用RxSwift來解決它。
(PS我已經閱讀了RxSwift的官方文檔,但仍然無法闡明我的想法。最感謝您的幫助!)
我認為您可以通過使用PublishSubject來解決此問題,如下所示:
let operationA = PublishSubject<String>()
let operationB = PublishSubject<String>()
let operationC = PublishSubject<String>()
let disposeBag = DisposeBag()
operationA.asObserver()
.subscribe(onNext:{element in
operationB.onNext(element)
})
.disposed(by: disposeBag)
operationB.asObserver()
.subscribe(onNext:{element in
operationC.onNext(element)
})
.disposed(by: disposeBag)
operationC.asObserver()
.subscribe(onNext:{element in
print(element)
})
.disposed(by: disposeBag)
operationA.onNext("A")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.