問題タブ [rx-kotlin]

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 に答える
547 参照

javafx - RxJava - キーボード入力のバックプレッシャ?

これは楽しい RxJava の問題です。

RxJava バックプレッシャー演算子を使用して、Google が検索ページで行うのと同じように、各文字が入力されている間に入力された入力をすばやく検索したいと考えています。バックプレッシャーのドキュメントを調べたところ、これを思いつきました (JavaFX を活用するために RxJavaFX/RxKotlinFX を使用しています) 。

これはうまくいきます。コントロールに対して「Hello」とString入力すると、200ミリ秒の入力なしで「Hello」が出力されます。しかし、本当に応答性を高めたい場合は、キーストローク入力ごとに何らかのローリング累積を行う必要があります。次に、コンソール出力は実際には次のようになります。

これらは、「Hello」という単語を入力したときのすべての排出量である必要があり、200ms は蓄積がリセットされるまでの経過時間を定義します。どうすればいいですか?

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

rx-java - groupBy を実行し、RxJava と Kotlin を使用して収集する方法は?

RateはObservable<Rates>単純なオブジェクトです。

そして、私はそれをに変えObservable<Rates>たいObservable<HashMap<String,Long>

たとえば、レートの場合Rates(arrayOf(Rate("1"),Rate("2"), Rate("3"),Rate("3"), Rate("2"),Rate("2")))、結果が期待されます:

私はそのようなものを作成し始めます:

しかし、私はここで立ち往生していて、すべての値を数えることがわかりませんか? 4 の 5 がない場合、空の値 (0) を追加する方法がわかりません。rx を使用してこれを行う方法はありますか?

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

android - RxJava(Kotlin)、Observable.amb、PublishSubject が起動しない

15 秒間隔、またはonNextsubjectrefreshEventsSubjectに発砲するたびに観察しようとしていますが、成功していません。

主題はそのように開始されます

private val refreshEventsSubject = PublishSubject<Long>()

そして、このように観察しようとします

Observable.merge(Observable.interval(0, 15, TimeUnit.SECONDS), refreshEventsSubject) .subscribe { ... }

15秒ごとに間隔からイベントを取得しますが、実行後にサブジェクトが発砲していません

refreshEventsSubject.onNext(0)

どんなアイデアでも大歓迎です。

(すべてKotlinで書かれています)

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

android - RuntimeException 処理のベスト プラクティス

RuntimeExceptions はプログラミング エラーを示すはずであり、observables 内の何かが RuntimeException をスローしたときにアプリケーションをクラッシュさせたいと考えています。

これを行う最善の方法は何ですか?現在、このソリューションを検討しています(Kotlinですが、理解できることを願っています)

しかし、私はそれについて疑問を持っています。たとえば、このソリューションで特定の RuntimeExceptions を時折「キャッチ」するのは困難です。おそらく、グーグルの方法がわからない状況に対処するためのよく知られた方法がありますか?