RxJava2のアセンブリプロセスについて質問があります。このプロセスの主な目的は何ですか?属性onObservableAssembly(RxJavaPlugins)はnullに設定されているか、または参照されていますか? onAssemblyメソッドで使用されているapplyメソッドによる関数インタフェースの実装を見ることは可能ですか?あなたはObservable.just(1,2,3)とフィルターで大文字小文字を説明することができます。ありがとうRxJava 2アセンブリプロセス
1
A
答えて
0
組み立てプロセスは、subscribe()
呼び出しで後で実現されるデータフロー用のテンプレートを形成するためにオペレータチェーンが確立されるときです。 Observable
のstatic/finalメソッドが呼び出されたときにカスタム演算子を挿入するために、アセンブリフックは高度な概念です。
ユースケースは次のようになります。アセンブリは、おそらくどこがクラッシュした場合に見に余分な情報を与えて、起こった現在のスタックトレースをキャプチャ
- 追加のデバッグ事業者。
- 特定の演算子を他のカスタム演算子に置き換える。
- プロトコルの順守の流れを検証するカスタム演算子をシミングします。
デフォルトのアセンブリフックはnull
です。これは、もともとの意図されたオペレータが実行することを意味します。
例の使用法はextensions projectにあります。 just
とfilter
を使用すると、次のようなことができます。
RxJavaPlugins.setOnObservableAssembly(o -> {
if (o instanceof ObservableFromArray) {
return new ObservableFromArray<>(new Integer[] { 4, 5, 6 });
}
return o;
});
Observable.just(1, 2, 3)
.filter(v -> v > 3)
.test()
.assertResult(4, 5, 6);
RxJavaPlugins.setOnObservableAssembly(null);
関連する問題
- 1. Rxjava 2 Maybe.toSingleエラー
- 2. はRxJava 2
- 3. Retrofit 2 + RxJava retryWhen
- 4. RxJava 2 - Observable.zip()never emits
- 5. retrofit 2投稿rxjava(ログイン)
- 6. Android RxJava 2、subscribeOn BehaviorSubject with MainThread
- 7. RxJavaでのAndroidテスト2
- 8. RxJavaのマッピング例外2
- 9. Rxjavaでのネットワークエラーの処理2 - Retrofit 2
- 10. RxJava - Observablesを2つ結合する
- 11. Retrofit 2とRxJavaのエラー処理オペレータ
- 12. RxJava 2 - concatMapのキューを減らす
- 13. RxJava + Retrofit 2ユニットテスト奇妙なエラー
- 14. RxJava 2.x:serialize()が機能しない
- 15. RxJavaでレルムを使用する2
- 16. RxJava
- 17. RxJava 2&Retrofit 2つの順次独立コール
- 18. RXJava PausableBuffer
- 19. RxJava tricky startWith(Observable)
- 20. RxJava 1.0コードをRxJava 2.0にアップデートする
- 21. RxJavaスレッドセーフ
- 22. RxJavaフラットマップチェーニングリクエスト
- 23. RxJavaデフォルトエラーハンドラ
- 24. スロットルRxJava
- 25. ソートRXJava
- 26. RxJava-グローバルエラー
- 27. RxJava Single.concat
- 28. RxJava述語フィルタ
- 29. RxJavaは、N回
- 30. RxJavaのプロデューサ - コンシューマ