Swift 如何使subscribeNext在每个链接可观察的onNext事件后都阻塞激发

Swift 如何使subscribeNext在每个链接可观察的onNext事件后都阻塞激发,swift,uikit,reactive-programming,Swift,Uikit,Reactive Programming,用户必须能够打印他们从表中选择的一组项目 我有一个PrintEngine类,它创建了一个可观察的流。用户将要打印的一组项目排队,然后PrintEngine只调用PrintEngine.print(项目)。这些步骤中的每一个都是异步的,并且相互依赖: Request the items -> Show Printer Picker UI -> Print the items -> Acknowledge the items have been printed 目前,我的流程正在

用户必须能够打印他们从表中选择的一组项目

我有一个
PrintEngine
类,它创建了一个
可观察的
流。用户将要打印的一组项目排队,然后
PrintEngine
只调用
PrintEngine.print(项目)
。这些步骤中的每一个都是异步的,并且相互依赖:

Request the items -> Show Printer Picker UI -> Print the items -> Acknowledge the items have been printed
目前,我的流程正在运行,因为我的每个网络请求都返回一个可观察的
报告
,其中包含流程各步骤之间共享的信息。我呼吁:

class PrintEngine {
     static print(items: [Item]) -> Observable<Report> {
         return request(items).flatMap(pickPrinter).flatMap(print).flatMap(acknowledge)
     }
     // ...
     static func request(items: [Item]) -> Observable<Report> {...} // network call to get pdf data
     static func pickPrinter(report: Report) -> Observable<Report> {...} // UIPrinterPickerController UI asynchrony
     static func print(report: Report) -> Observable<Report> {...} // Printing the actual data
     static func acknowledge(report: Report) -> Observable<Report> {...} // network call to notify server of print outcome
}
但这只会打印

"External On Next."
而不是

"External On Next."
"External On Next."
"External On Next."
"External On Next."
如何使我的
subscribeNext
在我的流中的每个
onNext
事件后都会触发块?
"External On Next."
"External On Next."
"External On Next."
"External On Next."