【发布时间】:2018-11-03 08:59:58
【问题描述】:
刚开始使用 PromiseKit 6 和 Swift。我检查了一些示例并阅读了文档。我有一个看起来微不足道的场景,但我无法绕过它。我有以下情况:
func addModel(_ model: Model, image: UIImage?, completion: @escaping (Error?) -> Void) {
var modelToSet = model
var id = ""
firstly {
serviceWrapper.setImage(image!)
}.map { path in
modelToSet.imagePath = path
}.then { [serviceWrapper]
serviceWrapper.setModel(modelToSet)
}.map { documentId in
id = documentId
}.then {
CLLocationManager.promise()
}.done { [serviceWrapper] location in
serviceWrapper.setLocation(GeoPoint(latitude: location.lat, longitude: location.long), id: id)
}.catch { error in
completion(error)
}
}
如您所见,在此伪代码中,我强制展开图像。任何想法只有在传递图像的情况下才能使用 setImage 方法启动链?否则直接从 setModel 开始。或者如果没有图像,可能只返回空字符串?我在这里想念什么?
【问题讨论】:
标签: swift promisekit