如何在 RxSwift 中将可完成项与闭包链接起来?

How to chain completables with closures in RxSwift?

我想做类似的事情

Completable.empty()
    .andThen { // this does not work
        // run some code
        NSLog("Now pushing objects")
        return Completable.empty // e.g. return api.pushObjects() -> Completable
    }
    .andThen(Completable.empty()) // this is working
    .andThen { // this does not work
        // do something else
        NSLog("Now pulling objects")
        return Completable.empty // e.g. return api.pullObjects() -> Completable
    }

andThen(或concat)不允许闭包作为参数。编译器抱怨:

Trailing closure passed to parameter of type 'Completable' (aka 'PrimitiveSequence<CompletableTrait, Never>') that does not accept a closure

我的问题是:如何使用闭包链接可完成项?

你不知道。 andThen 没有采用闭包的版本。最接近它的是:

Completable.empty()
    .andThen(Completable.create(subscribe: { observer in
        print("Now pushing objects")
        observer(.completed)
        return Disposables.create()
    }))