微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift – 使用combineLatest会导致个别故障发生什么?

如果我有两个SignalProducer(实际上它们是API服务请求,所以它们只发送’next’一次),并将它们与combineLatest结合(因为我想在完成后解除加载微调器),如果其中一个失败会发生什么?或两者都失败了?

“失败”是否会在组合信号上被调用(一次或两次?)?

如果一个失败而另一个失败,那么“下一个”会在组合信号上被调用吗?

解决方法

任何信号失败都会导致整个组合信号出错并停止订阅.

如果一个信号发送其第一个接下来而另一个信号发送错误作为其第一个值,那么下一个将丢失,combineLatest:仅在所有信号发送其第一个一个值时被调用.

subscribeError:只调用一次.错误以一元的方式工作,它们会使链条冒泡并停止整个信号.

如果你想破坏它,那么你可以使用catch:,catchTo:或重试方法来处理错误.

(很抱歉,谈论Objective-C方法,我不知道Swift语法).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐