我有一个返回类型T的Promise的函数,但是我想既捕获并对结果执行操作,又不改变promise的返回类型,同时保留了promise链。这是我的解决方法的简化版本,但我认为使用PromiseKit有更好的方法。
func createItem() -> Promise<T> {
let promise = Client.shared.createItem(with: item).map({ (item) -> ItemModel in
self.update(item)
return item
})
promise.catch { (error) in
self.error = error
}
return promise
}