Почему не выполняется чтение из базы данных

Вот мой код

fun getSettings() : Settings {
    var settingsResult: Settings? = null
    Observable.fromCallable {
        Realm.getDefaultInstance().use { realm ->
            val settings = realm.where(Settings::class.java).findFirst()
            settings?.let {
                settingsResult = realm.copyFromRealm(it)
                Log.i("MY_LOGS", "settingsResult = $settingsResult")
            }
        }
    }
    return settingsResult
}

Ответы (1 шт):

Автор решения: Circassian

Rx ничего не выполнит, пока нет подписчика. Вам нужно подписаться на Observable

Observable.fromCallable {
    var settingsResult: Settings? = null
    Realm.getDefaultInstance().use { realm ->
        val settings = realm.where(Settings::class.java).findFirst()
        settings?.let {
            settingsResult = realm.copyFromRealm(it)
            Log.i("MY_LOGS", "settingsResult = $settingsResult")
        }
    }
    settingsResult
}
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe({
        //успех
    },
    {
        //ошибка
    })
→ Ссылка