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."