itomkinas
11/15/2017, 2:28 PMprivate lateinit var publisher: PublishSubject<String>
publisher
.debounce(DEFAULT_DEBOUNCE_TIME, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ search(it) })
fun onSearchTyped(term: String) {
view!!.showLoading()
publisher.onNext(term)
}
searchDisposable = searchShowsInput.execute(term)
.observeOn(AndroidSchedulers.mainThread())
.subscribe({
showData()
}, {
view!!.showError()
})
With this solution it’s possible to dispose
previous result if api took longer then expected and search with new term