2017-06-14 1 views
2

私の反応アプリにグローバルエラーハンドラを追加しようとしました。それは完璧に動作しますが、サガとフェッチコールを使用すると、問題は1つしかありません。簡単な例下:Redux Saga、error swallowing

example

(setModulesで)エラーが嚥下される(Iフェッチ約束で思う)けど、どこで、どのようにこの動作を修正するために理解してはいけません。この場合、エラーは決してエラーまたはunhandledrejectionイベントに送信されず、Google devtoolは「getModules」関数からのエラーを報告します。私は多くの変更をしました(代わりにdoneを使ってcatchを削除するなど)が、奇跡はありませんでした。

答えて

0

catchステートメントが別のcatchにあります。getModules saga などのビオラに(エラー処理ロジック)try/catchステートメントを入れてみてください。

この問題を回避するには、ゲートウェイ機能ではなく、サガのみにエラーを管理することを強くお勧めします。

+0

私はこの不正確なロジックを変更しました(ありがとうございます)フェッチは、別のものが必要ないという約束を返します。しかし、私は私の振る舞いを修正するように見えます。私は、put.syncの代わりに文書化されていないput.syncを使用する必要があります。主な問題は、サガジェネレータがコールされてからエラーが発生した場合です。 – Jerome

関連する問題