問題タブ [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.

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

angular - Rx を使用して Angular 2 でドラッグ可能な div を実装する方法

私は Angular 2 を使用してドラッグ可能な div を機能させようとしています。Angular2-examples リポジトリのこの例をtoRx()出発点として使用していますが、メソッドの削除を考慮してコードを実際に調整しているだけです。mouseoutコードは機能しますが、イベントを考慮していません。これは、ドラッグ可能な div をクリックしてマウスをゆっくり動かすと、div がマウスと共に移動することを意味します。しかし、マウスを速く動かしすぎると、mouseoutイベントではなくイベントが送信されmousemove、ドラッグが停止します。

mouseoutイベントが発生するまでマウスを動かした後、ドラッグを継続するにはどうすればよいですか? イベントがイベントと同じように扱われるように、mouseoutイベント ストリームをmousemove1 つにマージしようとしましたが、うまくいきません。mouseoutmousemove

Angular 2.0.0-beta.12 を使用しています。

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

angular - angular 2 Rxjsを使用して1秒あたりのキープレスをカウントする

キープレスカウンターの反応的および非反応的な方法を書き込もうとしました。関数 reactWay() を見てください

それは機能しますが、何か問題がある可能性があると思います。

私はそこでエクササイズをしました http://reactivex.io/learnrx/

たくさんのマッピングがありました。

時間イベントを、1 秒あたりに発生したキー イベントのシーケンスにマッピングする必要があったように感じます。しかし、どうすればそれらをマッピングできるのかわかりません。

何かのようなもの

kps$ を使用する場合、2 番目にキーが押されていない場合に kps$ が 0 の合計を発行するように強制するにはどうすればよいですか?

アップデート

答えに基づいて、私はこれをしました。

しかし、obs をサブスクライブすると、まだ 0 の値を含むイベントを毎秒取得できません。1 秒間にいくつかのキーを押すと、押されたキーの数と 0 の別のイベントが取得されます。その後、もう一度キーを押すまでイベントは停止します。毎秒イベントを取得するには、何を変更する必要がありますか?

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

rxjs5 - RxJS 5 バッファ関数を使用するには?

私はたくさんグーグルで検索し、d.tsファイルを見ようとしましたが、何が問題なのかまだ理解できません。この関数の使用方法の RxJs5 の例が見つかりません。

エラーが発生しています:

エラー:(166, 15) TS2345: タイプ '() => Observable<{}>' の引数は、タイプ 'Observable' のパラメーターに割り当てられません。プロパティ「_isScalar」が型「() => Observable<{}>」にありません。

buffer.d.ts はこのように見えます。これで理解できるはずですが、わかりません。

この質問はこれから: 角度 2 Rxjs を使用して 1 秒あたりのキープレス数をカウントする

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

angular - angular2で非同期サブジェクトを使用するには?

こんにちは、単純なコンポーネントとサービスがあります。ユーザーが送信ボタンをクリックすると、非同期サブジェクトがすべてのサブスクライバーに値を発行するサービスを呼び出しています。 Subject.ここでデモを作成しましたhttp://plnkr.co/edit/tHjPVZ5NurJRWdCM9lbt?p=preview ...これは私のサービスです...

そして、これは私がasyncsubjectを購読している私のコンポーネントクラスです

しかし、これはエラーをスローしています...どこが間違っているのかわかりません...誰かがこのエラーを修正し、非同期サブジェクトを使用してサブスクライバーに値を発行する方法を教えてください

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

angular - Observable.fromEvent() bufferTime() take(3) および subscribe() を使用する場合 - 最後のイベントが発行された後にエラー「null のプロパティ 'splice' を読み取れません」

angular 2ベータとRxJS 5でこれを試しています。問題なく3つのイベントを取得し、1秒あたりのキープレスを計算します。エラーが発生するのはなぜですか? 3秒で止めたい。

これは、この質問の続きです: angular 2 Rxjs を使用して 1 秒あたりのキープレス数をカウントする

アップデート

ソースを別の方法で定義して、スローしないようにする方法を見つけました。

それでも疑問が残ります - 関数 fromEvent() で機能しないのはなぜですか? この関数で completed() メソッドを定義する方法もわかりません。したがって、デフォルトである必要があります。

また、エラーメッセージから得られた情報から、 Observable.create に .complete() が必要であることをどのようにすばやく見つけることができますか? 最近、何時間も考えて試してみたところ、完了した()関数が必要になるかもしれません。

アップデート

実際、最後に更新したコードが正しく動作しません。エラーが発生しなくなります。

最後の更新で何が起こるかというと、キーを押さないと 0 回と 3 回のイベントが発行されます。押すと、合計1のイベントが発行され、発行が停止します。

アップデート:

Web パック スターターでの再現方法:

angular 2 webpackスターターバージョン5.0.3をインストールします(バージョン3でもエラーが発生しました)。

ところで、package.json を Rxjs ベータ 4 からベータ 2 に変更する必要がありました。そうしないとインストールに失敗していたからです。

そして、home.comoponent.ts ngOnInit() 関数にhttps://jsbin.com/fafuladayi/edit?js,console,outputとほぼ同じコードを入れます

唯一の違いは、Rx.Observable の代わりに Observable を使用し、Observable をインポートすることです。コードを参照してください。

Thierry Templier の例は機能しますが、このスターター パックで Birowsky の例が機能しない理由も理解したいと思います。

ところで、Birowsky が古いバージョンを使用していることもわかります - rxjs@5.0.0-alpha.8 。この URL に beta.2 を含めようとしましたが、エラー Rx not found: https://npmcdn.com/@reactivex/rxjs@5.0.0-beta.2/dist/global/Rx.js in jsbin が表示されます.com

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

javascript - 別のObservableが発行されたときに発行された値を停止する方法は?

2 つの Observable があり、1 つはマウスオーバー イベント (500 ミリ秒でデバウンス) を発行し、もう 1 つはマウスアウト イベントを発行します。

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

javascript - ソースからのデバウンスをキャンセルする RXjs

私は Rx を学んでいるので、Rx のメカニズムのいくつかをうまく理解できません。私がやりたいことは、コールバックで簡単に実行できますが、Rx を理解したいです。

だから私がしたいのは、イベント500ミリ秒でマウスをデバウンスしてUIインターフェイスを表示し、マウスアウトでそのインターフェイスを非表示にすることです。したがって、次のコードがあります。

私が欲しいのは次のようなものです:

道順が必要です。よろしくお願いします。

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

angular - RxJS 5で観察可能な単純な「最初にreduxストアをチェックする」を実装しようとしています

Angular 2 アプリに次のシナリオがあります。

  1. アプリの読み込み時に redux ストアに非同期に読み込まれたアイテムのリストがあります
  2. ユーザーは、単一のアイテムを表示するルートに移動します

rxjs を使用して実装したいのは、ユーザーが要求したアイテムが既にストアにある場合は、単にそれを返すことです。それ以外の場合は、HTTP 呼び出しを行って、要求された特定のアイテムをロードします。

多くの場合、必要なアイテムは既にストアにありますが、CRUD ページに直接移動すると、ロードされている可能性がありますが、まだそこにはありません。ページングを使用している場合、アイテムの読み込みが完了しても、そこにない可能性があります。これら 2 つのケースのどちらでも、アイテムに対して直接 HTTP 呼び出しを行いたいだけです。

私はある種の観察可能なチェーンを使用してアイテムのストアをチェックすることを望んでいました。それがすぐにそこにない場合は、angular2 http 呼び出しを使用して flatMap がアイテムを返します。

私はこの権利について考えていますが、これを行うことができる単純な演算子のセットはありますか?