【发布时间】:2019-11-24 14:46:39
【问题描述】:
在Combine 框架中,我们可以在使用tryMap 时抛出一个通用的Error 协议类型。
但是,我们如何才能更具体地了解Error 类型?
例如,
let publisher = urlSession.dataTaskPublisher(for: request).tryMap { (data, response) -> (Data, HTTPURLResponse) in
guard let response = response as? HTTPURLResponse else {
throw URLError(.cannotParseResponse)
}
return (data, response)
}
如何指定这个publisher的Error类型?我想使用URLError 而不是Error。
我在Combine 框架中找到了方法setFailureType(to:)。但是,tryMap(_:) 无法使用。
【问题讨论】:
标签: ios swift xcode macos combine