【发布时间】:2014-12-11 08:28:33
【问题描述】:
我已将一些 racsignal 合并为一个 Racsignal。并订阅了合并的信号。现在,如果我合并的任何信号发送错误事件,所有合并的信号都会被处理。如果任何信号失败,我希望所有信号继续执行。
【问题讨论】:
标签: ios error-handling merge reactive-cocoa racsignal
我已将一些 racsignal 合并为一个 Racsignal。并订阅了合并的信号。现在,如果我合并的任何信号发送错误事件,所有合并的信号都会被处理。如果任何信号失败,我希望所有信号继续执行。
【问题讨论】:
标签: ios error-handling merge reactive-cocoa racsignal
我可以建议两个选项:
catchTo:[RACSignal empty] 应用于每个信号以抑制任何出错的信号。-materialize 应用于将所有订阅者事件更改为RACEvent 的具体实例的每个信号。使用选项 #1 会删除错误对象并阻止其他合并的信号被释放,但会使订阅者不知道所有错误。
使用选项 #2 意味着您的订阅者必须解开 RACEvent,然后在 next 块内有条件地执行值或错误处理逻辑。
【讨论】: