RxSwift:除了使用回调之外,如何建立可观察的函数调用链?

RxSwift:除了使用回调之外,如何建立可观察的函数调用链?,swift,asynchronous,rx-swift,Swift,Asynchronous,Rx Swift,我试图解决一个异步顺序问题,例如: myclass中有一个“OriginalData”,我想对它执行一些顺序操作:operationA、operationB和operationC: operationA接受原始数据并返回outputA,完成后,operationB应将outputA作为输入并返回outputB,然后移动到operationC 我所做的是使用回调: // pseudocode class Myclass { func operationA(inputA, callback:

我试图解决一个异步顺序问题,例如:

myclass中有一个“OriginalData”,我想对它执行一些顺序操作:operationA、operationB和operationC:

operationA接受原始数据并返回outputA,完成后,operationB应将outputA作为输入并返回outputB,然后移动到operationC

我所做的是使用回调:

// pseudocode
class Myclass {
    func operationA(inputA, callback: operationB)
    func operationB(inputB, callback: operationC)
    ..
}
因此,如果使用回调,将导致回调地狱和许多麻烦。我变成了RxSwift,但不知道如何使用RxSwift来解决它


另外,我已经阅读了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")

你能用代码再解释一下lil吗。。