ios - 在组合中将给定的发布者失败类型设置为从不

标签 ios swift frp combine

有没有办法转换给定的 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/

相关文章:

haskell - 正确使用网线(五)

iOS 使用 UIActivityViewController 将图片分享到 LinkedIn

ios - 自动布局工作错误

sql - 如何解析数据库中每个单元格的特定值?

ios - JSON 序列化卡住了 UI

haskell - Netwire 中的跳跃机制

swift - 合并的订阅(在 :options:) operator

ios - 如何中止 XCode Bot 构建?

ios - 如何将 printf 输出定向到与 NSLog 相同的目标?

ios - 如何将 HLS 流下载到本地机器?