有没有办法转换给定的 AnyPublisher<AnyType, SomeError>
至AnyPublisher<AnyType, Never>
?
最佳答案
使用 replaceError
运算符(operator)。这要求您发出一个 AnyType 值,如果上游出现错误,该值将从该点沿管道向下发送。
例如:
URLSession.shared.dataTaskPublisher(for: url)
.map {$0.data} // *
.replaceError(with: Data()) // *
// ...
从这一点开始,我们保证将收到来自数据任务完成的数据或(如果存在网络错误)一个空数据。从这一点开始,管道中的故障类型是从不。
关于ios - 在组合中将给定的发布者失败类型设置为从不,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58227096/