Есть ли какое-либо ясное и умное решение для удаления наблюдаемого из метода подписки? Например, у меня есть Observable.interval
, который излучает Long каждую секунду. В моем методе подписки я хочу проверить, прошло ли 20 секунд, чем отказаться от подписки.
val observable = Observable.interval(1000,TimeUnit.MILLISECONDS)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{ num ->
if(num == 20.toLong())
{
observable.dispose()//I cant call dispose here because variable 'observable' is not avaliable yet
}
})
Какой самый простой и правильный способ достижения этой логики c?