問題タブ [angular2-observables]

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.

0 投票する
4 に答える
5536 参照

angular - カスタム Observable を作成する

カスタムオブザーバブルを作成することは可能です(そして正しいです)?たとえば、キャッシュにデータがある場合、http リクエストを行う前にカスタム オブザーバブルを作成したいと思います。

私の要求:

ありがとう

0 投票する
0 に答える
337 参照

angular - Angular2 - Observable ForkJoin でエラーの URL を取得する

複数の HTTP リクエストを含めることができる Angular2 ForkJoin があります。ForkJoin でエラーが発生した場合、エラーの原因となった ForkJoin 内のリクエストの URL のサブ ドメイン/ドメインを特定できるようにしたいと考えています。エラーが 401 Unauthorized の場合は、新しい接続を再確立する必要があります。失敗したリクエストのサブドメイン/ドメインが必要なので、トークンを再確立して ForkJoin リクエストを再試行するために資格情報を検索できます。私の ForkJoin は、異なるドメインに対して複数のリクエストを行っている可能性があります。

エラーが発生したときに、ForkJoin の URL のバッチで URL のサブドメイン/ドメインを特定することは可能ですか?

0 投票する
3 に答える
80275 参照

angular - サービスのオブザーバブルを使用したエラー ケースのテスト

サービス関数をサブスクライブするコンポーネントがあるとします。

サブスクライブ呼び出しは、パラメーターとして 2 つの匿名関数を受け取ります。データ関数の作業単体テストを設定することができましたが、Karma はエラー 1 のカバレッジを受け入れません。

ここに画像の説明を入力

console.error 関数をスパイしようとしましたが、エラーをスローしてから、スパイが呼び出されたことを期待していますが、それはうまくいきません。

私の単体テスト:

これらのような匿名関数をテストするためのベスト プラクティスは何ですか? テスト カバレッジを確保するための最低限の要件は何ですか?

0 投票する
2 に答える
1578 参照

angular - 複数のオブザーバブルを異なるアクション/操作で組み合わせる

私は Angular2 アプリを構築しているので、Observables と Reactive Extensions 全体に慣れてきました。TypeScript と rxjs を使用しています。

これで、いくつかのオブジェクトの配列のオブザーバブル、または必要に応じてストリームを取得できました。人物オブジェクトとしましょう。今、Person-objects の他の 2 つのストリームがあり、これらを結合して、常に最新のストリームを取得したいと考えています。

people-stream がたとえば 5 人の配列を発行し、その後 personAdded-stream が person を発行する場合、allPeople-stream は 6 の配列を発行します。 personRemoved-stream が人を発行する場合、allPeople-ストリームは、personRemoved-stream によって発行されたばかりのものを除いて、Person-object の配列を発行する必要があります。

この動作を得るためにrxjsに組み込まれた方法はありますか?

0 投票する
2 に答える
102 参照

angular - ionic2/angualr2がホームタブでオブザーバブルをキャンセルする

ionic2 のホーム タブでオブザーバブルをキャンセルしようとしていますが、6 時間経っても何も機能していないため、バグである可能性があります。

私が使用している観察可能な例は、このサイトからのものです https://coryrylan.com/blog/intro-to-rxjs-observables-and-angular-2

ngZone を試してみましたが、ngZone から間隔をクリアすることはできません。

私はもう試した

何も機能しません..これがコードです...このコードはホームタブにあります

0 投票する
1 に答える
896 参照

angular - Angular 2 のオブザーバブル チェーン

私は Angular2 の初心者で、Observables について助けが必要です。

リモートリソースからデータを取得してユーザーに表示するWebアプリがあります。

問題は、http を使用してデータを取得し、それをローカルに保存してから、他のコンポーネントで使用する必要があることです。

次のスキームを試しました:

data.ts

controller.ts

view.cityselector.html

しかし、このスキームでは http を 3 回 (代わりに 1 回) 呼び出しますが、この値{{ cities }}は未定義です。

したがって、http からデータを取得し、ローカル変数に保存し、その後ローカル データを使用して、常に新しい http を呼び出す方法

0 投票する
1 に答える
1041 参照

angular - Angular2 ルートは複数のアクションを解決します

ねえ、

複数のユーザーがいるアプリがあり、ユーザーの詳細を確認したいので、ルートに入る前にそのユーザーを ID で解決する必要があります。すべてのユーザーを取得するユーザーコンポーネントに最初に到達すると、すべてがうまくいきます。ただし、リロードの場合、ルートは ID でユーザーを解決しようとしますが、まだユーザーがいないため失敗します (ユーザーはまだ取得されていません)。ユーザーが存在するかどうかを確認し、それらをフェッチしてから、ユーザーでルートを解決したいと思います。コードは次のとおりです。

そして、コンポーネントで

ルート データをリッスンするときに得られるのは、user: Subscriber のオブジェクトだけです。this.usersService.getUserById 関数だけを返すと、ユーザーオブジェクトが正常に来ます。