Я новичок в реактивном мире, поэтому, пожалуйста, потерпите меня, если то, что я говорю, неверно (пожалуйста, поправьте меня!).
Так что я искал в Google и здесь что-то похожее, но якажется, я не видел ничего вокруг того, что я сделал.Я использую библиотеку Rx2Firebase, чтобы получить некоторые данные из моей базы данных, используя метод RxFirebaseDatabase.observeSingleValueEvent
, и я не мог понять, как мне поступить с созданным Observable.Таким образом, этот метод возвращает значение Maybe, и я хочу избавиться от этого Maybe после выполнения моего кода, но я не уверен относительно того, как (читайте далее о том, почему).
Мой текущий код выглядит примерно такэто:
private fun getUserStatus(callback: () -> Unit) {
RxFirebaseDatabase
.observeSingleValueEvent(myQuery,(entry::class.java))
.subscribe ({ item
myEntry = item
callback()
},{ e
Log.e("Error", e.message)
})
}
Из того, что я прочитал, наблюдаемые присваиваются переменной Disposable
, и тогда я думаю, что эта переменная будет удалена?что-то вроде var disposable: Disposable = <Insert my code above for calling Firebase>
, и вы бы сделали это (из того, что я прочитал) внутри onDestroy
.Мой вопрос был бы, как бы я это сделал, если мой код не выполняется в Activity или Fragment?Я не мог просто добавить dispose()
в конце моего кода после .subscribe
, так как это просто завершит вызов до его завершения.