問題タブ [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 投票する
2 に答える
1041 参照

javascript - Observable Angular 2 の使用時に挿入される重複の防止

投稿を送信するたびに配列が指数関数的に増加するという問題があります。投稿を最後に更新したときのタイムスタンプを更新するために、各投稿の後にユーザーオブジェクトが更新されているため、2番目のオブザーバブルで発生していると思います。

重複が配列に挿入されるのを防ぐために、その投稿が既に配列にある場合は、内側のオブザーバブルをチェックしようとしています。何らかの理由でこれが機能していません。

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

angular - サービスからの Angular2 マルチキャスト

データベースを更新するサービスがあり、祖父母コンポーネントと親コンポーネントの両方を更新したいと考えています。

私が得ている動作は、Grandparent コンポーネントがサービスからの応答を取得していることです。祖父母のサブスクライブ コードをコメント アウトすると、親の動作が表示されます。私が望むのは、progressBar$ の値を変更するたびに両方のコンポーネントが応答することです。

サービスコード

祖父母コンポーネント

親コンポーネント:

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

angular - Angular 2 & Typescript Observable Function パラメータ - パイプは何をしますか?

最近、関数で Observer パラメーターを取得する必要があり、Typescript でこれを行う方法を理解しようとして机に頭をぶつけていました。delegateC# でパラメーターを取得したことを思い出すかもしれません。それが基本的に私がここでやろうとしていたことです。これは の一部でしたsubscribe(observer: Observer<any>)。私がこれを行った理由は、サブスクリプション用の AOP タイプのブックエンドを追加しようとしていたからです。それは重要な部分ではありません。

|基本的にこれを機能させるには、関数パラメーターの後ろに文字を追加する必要があり、最終的には次のようになります。

(observer: Observer<any> | | ((値: 任意) => void)): void

私の質問は基本的に、その関数シグネチャの太字部分は何をするのですか? 考えられるすべてのリソースを精査しましたが、理解できません。の後の部分がないと、次の|エラーが発生しました。

'(res: any) => void' 型の引数は、'Observer' 型のパラメーターに代入できません。タイプ '(res: any) => void' にプロパティ 'next' がありません。

パイプ文字とその後の部分を追加すると、従来のオブザーバーの方法 (矢印関数を使用) で問題なくサブスクライブできました。価値)。何かが機能するのを見るのは嫌いですが、理由がわからないので、どんなアイデアでも大歓迎です!

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

typescript - オブザーバブルの出力を使用して別のフィルターを適用する方法

したがって、2 つのオブザーバブルがあり、1 つは現在のカテゴリを返し、もう 1 つは製品を返します。カテゴリに基づいて製品をフィルタリングしたいと考えています。

これは Angular 2 にあるため、ng2-view が (非同期パイプを介して) サブスクライバーになることを本当に望んでいます。

この簡単な例のようなもの:

答えは簡単かもしれませんが、私にはわかりません。

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

unit-testing - Angular 2 単体テストの観察可能なエラー (HTTP)

API サービスの単体テストを作成しようとしていますが、HTTP エラーをキャッチするのに問題があります。このガイドはいくつかのマイナーな領域で (わずかに) 古くなっているため、Angular2 のドキュメントと一緒にこのガイドに従っています。

すべての単体テストは、サービスによってエラーがスローされたものを除いて合格します (エラー HTTP ステータス コードが原因で)。これは、ログアウトすることでわかりresponse.okます。私が読んだことから、これはユニットテストが非同期に実行されないことに関係しているため、エラー応答を待っていません。ただし、メソッドasync()でユーティリティ関数を使用したため、なぜこれが当てはまるのかわかりません。beforeEach

API サービス

エラー単体テスト

更新 1

最初のコールバックを確認すると、response.ok が未定義です。setupConnectionsこれは、ユーティリティに何か問題があると私に信じさせます。

更新 2

get メソッドでエラーをキャッチする代わりに、マップで明示的にエラーをキャッチした場合でも、同じ問題が発生します。

アップデート 3

いくつかの議論の後、この問題が提出されました