問題タブ [ngrx-effects]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - ngrx エフェクトでタイマーをキャンセルする
私はスピナーを持っています。スピナーが表示されるまで x 秒待つ必要があります。ただし、スピナーがタイムアウトの完了を待っている間に REQUEST_DEACTIVATE_SPINNER が呼び出された場合、ACTIVATE_SPINNER アクションの起動を停止する必要があります。別名、アクティブタイマーをキャンセルしたいです。これは私がこれまでに持っているものです。
エフェクトに返されるタイマーをキャンセルする方法を誰かが教えてくれるでしょうか。
javascript - ngRx 状態の更新とエフェクトの実行順序
私はこの質問について私自身の意見を持っていますが、再確認して確実に知っておくことをお勧めします. 注意を払い、助けようとしてくれてありがとう。ここにあります:
いくつかの状態変化をトリガーするアクションをディスパッチし、それにいくつかのエフェクトが付加されていると想像してください。したがって、コードは 2 つのことを行う必要があります。状態を変更し、いくつかの副作用を実行します。しかし、これらのタスクの順序は何ですか? それらを同期的に行っていますか?まず、状態を変更してから副作用を実行すると思いますが、これら 2 つのタスクの間に別のことが起こる可能性はありますか? このように: 状態を変更し、以前に行った HTTP 要求に対する応答を取得して処理し、副作用を実行します。
[編集:] ここにコードを追加することにしました。また、私はそれをかなり単純化しました。
州:
行動:
レデューサー:
効果:
FetchItemAction をディスパッチする方法は次のとおりです。
望ましいシナリオ:
悪いシナリオ:
問題は単純に、悪いシナリオが実際に起こり得るかどうかです。
ngrx - グローバル ハンドラによってキャッチされない ngrx/effects エラー
次のように定義された効果があります。
リッスンするリデューサーがありLoadAllFailureAction
、ストア内のいくつかのフラグを変更します。
ここで、そのアクションを処理する際に、TypeError を生成するその null (LoadAllFailuerAction で送信される) のオブジェクト破壊を行う場合、そのエラーは GlobalErrorHandler (キャッチされない例外をキャッチする) によってキャッチされません。また、エフェクトの実行が停止します。
一方、まったく同じエフェクト/リデューサーのセットアップではthrow Error()
、リデューサーで手動で行うと、引っかかります。
今、それは私にとって完全な謎です。
何かご意見は?
angular - ngrx 4 テスト効果ジャスミン ビー玉
ngrx ストアでの効果のテストに取り組んでいます。ngrx をバージョンに更新した後、テスト方法が変更されていることがわかりました。
残念ながら、jasmine-marbles に関するドキュメントは見つかりませんでした。ホット関数とコールド関数の最初のパラメーターの意味を誰か説明できますか? また、それに関するドキュメントを見つけることは可能ですか?