我正在尝试在映射成功完成后调用函数。
可观察的是通过映射从现有的流创建的。在映射块中,我订阅获取映射到最终类型的输出。使用更新的流,我正在考虑调用函数。但在我订阅并将其映射到更新的流之前,会调用该函数。
下面是一个示例代码:
let updatedDataStream = dataStream
.observeOn(MainScheduler.instance)
.map { (data) -> ViewData? in
guard var unknownData = data as? UnknownDataType,
let location = unknownData.dataPoints.first?.location else {
return data
}
let dataModel = DataModel(x: location.x, y: location.y)
self.dataStore.localStore?
.entity(forID: DataModel.entityID)
.filter({$0?.status == .Success})
.take(1)
.unwrap()
.subscribe(onNext: { (localDataModel) in
guard let value = localDataModel.dataValue, value.count > 0 else {
return
}
unknownData.value = value
}).disposed(by: self.disposeBag)
return unknownData
}
self.attachUpdatedData(updatedDataStream)
attachUpdatedData(_:)
附件更新日期()
在数据映射到新值之前首先调用。有人能告诉我正确的方向吗?