0

いくつかの racsignal を単一の Racsignal にマージしました。そして、マージされたシグナルを購読しました。マージした信号のいずれかがエラーイベントを送信すると、マージされたすべての信号が破棄されます。シグナルが失敗した場合、すべてのシグナルが実行を継続するようにします。

4

1 に答える 1

1

2 つのオプションを提案できます。

  1. 各信号に適用catchTo:[RACSignal empty]して、エラーのある信号をスケルチします。
  2. -materializeすべてのサブスクライバー イベントを の具体的なインスタンスに変更する各シグナルに適用しますRACEvent

オプション #1 を使用すると、エラー オブジェクトが削除され、他のマージされたシグナルが破棄されなくなりますが、サブスクライバーにはすべてのエラーが通知されません。

オプション #2 を使用すると、サブスクライバーは をアンラップしてから、ブロックRACEvent内で値またはエラー処理ロジックを条件付きで実行する必要があります。next

于 2014-12-11T23:18:50.890 に答える