RxJavaアダプターを使用して新しいAndroid Roomのライブラリアンを試そうとしています。だからここRxJavaのAndroidルームで空のクエリ結果を処理する
DAOのメソッドです:
@Query("SELECT * FROM auth_info")
fun getAuthInfo(): Flowable<AuthResponse>
そして、どのように私はそれを扱う:
database.authDao().getAuthInfo()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.switchIfEmpty { Log.d(TAG, "IS EMPTY") }
.firstOrError()
.subscribe(
{ authResponse -> Log.d(TAG, authResponse.token) },
{ error -> Log.d(TAG, error.message) })
私のDBが空である、と私は私のクエリはDBから0のオブジェクトを返す場合に生じる処理したいですしたがって、.switchIfEmty()が機能することを期待していますが、処理メソッドのどれもが起動していません。 .subscribe()も.switchIfEmpty()もありません
あなたが考慮しなければならないの詳細を読むことができ
のようなものを書くことができ、
Maybe
とのDAOへSingle
のサポートを追加しましたこの機能の代替動作。リクエストの結果が空の場合、Flowable.empty()を取得したい。 – 0wl私たちは 'たぶん'のサポートを追加します。 https://issuetracker.google.com/issues/62231019 – yigit
ああ、ありがとうございます! – 0wl