短く: .catch
をすべて前に入れないでストリームでエラーが発生した後にリスニングを続ける方法.subscribe
?Rxjsがエラーで登録を解除するのはなぜですか?
あなたはより多くの詳細が必要な場合、彼らはここにある:
は、私は、現在のユーザーまたはnullの件名を持っていると仮定します。 APIからデータを取得してSubjectに送信します。それに応じてビューが更新されます。 しかし、私のサーバーではいつかエラーが発生し、私のアプリケーションは以前と同じように動作し続けますが、エラーについてのいくつかの場所に通知し、自分のSubjectを聞いてください。
は当初、私は、私はちょうどuserSubject.error(...)
を行うことが唯一のサブスクライブに.catch
コールバックとerror
ハンドラをトリガし、すべての成功ハンドラとチェーンをスキップするかどうかと思いました。 userSubject.next(...)
と呼んだら、私のチェーンと加入者はすべて前と同じように動作します。
しかし、不都合なことではありません。初めにキャッチされていない.error
の後、ストリームから加入者を退会し、それ以上は動作しません。
だから私の質問:なぜ? null
の値を通常どおり扱いたい場合はどうしたらいいですか?ここで
は、エラー時に加入者登録解除error
またはcomplete
通知が配信された後、彼らは何を生み出すことはできないことを意味し https://github.com/ReactiveX/rxjs/blob/master/src/Subscriber.ts#L140
ありがとう! – mgrinko