問題タブ [rxjs5]
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 - angular2: 観測可能すべてのサブスクライブが完了した後の response.json()
angularHttp
クラスを拡張するクラスがあります。それを と呼びましょうMyHttp
。MyJwtHttp
クラスを拡張するクラスもありMyHttp
ます。
応答をjsonとして返すことができるようにしたいのですが、問題は、次のようなことをしている場合です:
request
メソッドの実装は次のとおりです。
ここでの問題は、関数がクラスmap
のサブスクライバーの前に呼び出されることです。MyHttp
これにより、の入力がdoSomething(res)
json になり、応答自体ではなくなります。
last
の代わりに使用してみmap
ましたが、リクエストの呼び出し元に json が返されません。
この問題を解決する方法はありますか?
angular - 別のサブジェクトによってサブスクライブされたストリームを実行しませんでした
ここにコード:
ストリームが 1 として機能することを願っています。 addProject を呼び出したとき => 値を発行 => ポスト リクエストをトリガー => ポスト レスポンス 200 が get リクエストを続行したとき (_get stream) => get$ ストリームを他の場所でサブスクライブできます。すべての最新データ。
実際:投稿は成功しましたが、取得リクエストには入りませんでした。コードに問題があるようです
助けてください!
intellij-idea - IntelliJ IDEA が rxjs5 で Observable の演算子を見つけられない
経由で rxjs 5 beta 3 をインストールしましnpm i rxjs@5.0.0-beta.3
た。
次のコード例があります。
たとえば、ts-node を使用する場合、このコードは完全に適切にコンパイルされます。
しかし、IntelliJ IDEA 内でこのコードを見ると、filter()
演算子が見つかりません。
Observable インスタンスで演算子を使用する場合、それらも見つかりません。
の推奨される静的メンバーは次のObservable
とおりです。
create()
if()
throw()
のインスタンスの推奨メンバーは次のObservable
とおりです。
_isScalar()
forEach()
lift()
subscribe()
また、必要なものだけをインポートしようとしましたが、IDE はfilter()
Observable インスタンスに存在しないことを教えてくれます。
IntelliJ IDEA にオペレーターを知らせる方法について何か提案はありますか?
typescript - rxjs Observable の連結
複数のオブザーバブルを連結することは可能ですか?
例:私は3つの機能を持っています:
私は次のようなことをしたいと思います:
または次のようなもの:
それ以外の場合は、醜いピラミッドを作成する必要があります。
私の意志を達成するために何かがありますか?
ありがとう
typescript - 観測可能な結果を使用して、観測可能な結果を返す方法
Rxjs を使用して、Angular サービスで 4 つのアクションを実行する必要があり、コンポーネントはそのサービス関数を使用します。
-関数「ensureHasCache():Observable」を呼び出します
-関数「create():Observable」を呼び出します
- create() の結果を取得し、ローカル変数を割り当てます (this._companies.push (newEntity);)
-次に、UI で使用するために Observable を返します
これは、4 つのアクションが実行されるサービス コードです。
最後の switchMap でわかるように、observable を返す必要がありますが、実際には既に結果を取得しています。したがって、「fromResult」を呼び出す必要があります。しかし、この方法では、実際には必要ない場合でも、新しいobservalbeを作成する必要があります(「fromResult」は新しいObservableを作成します)。
もっとエレガントな方法はありますか?
これは fromResult のコードです:
rxjs - Observable にデータを追加する
サーバーから取得したデータを含む 3 つの Observable があります (すべて同じタイプ)。データをきれいに表示するために、ストリームに空のデータ ポイントを追加して、時間 (データの記録時間) を揃えたいと考えています。このようなもの:
括弧は空を意味します。これを行う良い方法はありますか?または、完全に変更する必要がありますか?
typescript - Angular2 beta.12 および RxJs 5 beta.3 で観察可能なエラー
こんにちは、
VS2015 で実行されている Angular2 ベータ 12 を使用しています。rxjs を 5.0.0-beta.2 から beta.3 に更新すると、通常は約束に関連するさまざまな例外が発生します。
例えば
- 型にプロパティ
map
が存在しませんObservable<Response>
- タイプにプロパティ
share
が存在しませんObservable<Response>
- アンビエント モジュールの宣言では、相対モジュール名を指定できません
- アンビエント モジュールを他のモジュールまたは名前空間にネストすることはできません。
パッケージ.json
問題は、このコードの map 関数に関連しています:
別の場合、問題はshare()
これは重要かもしれないと思います - rxjs ファイルの範囲には、相対参照のために赤の下線が引かれています../../Observable
(以下の例は interval.d.ts にあります)
私のboot.ts
私のhtmlページ
私は困惑しており、いくつかの支援をいただければ幸いです。
ありがとう、ダン。
javascript - RxJsのdistinctUntilChangedの使用方法は?
RxJs (v5 ベータ版を使用) を使い始めていますが、どういうわけかdistinctUntilChanged
. 以下のコードをbabel-nodeで実行した場合の出力は
それは私が期待するものではありません。エントリが 1 つしか渡されないのはなぜdistinctUntilChanged
ですか? 私は出力が
これがコードです
これらの関数の v5 ドキュメントのリンクは無効になっているようです
- - - 編集 - - -
追加のデバッグ:
出力: