0
는 내가 단일 작업에 관찰자의 동적 목록을 가지고하는 방법을 그림을 시도하고 개조 2RxKotlin은 - 동적 관찰자 배열
과 함께 RxKotlin을 사용하고 있습니다. 전체 작업이/
을 실패 할 때까지, 나는 (캐시/메모리에 저장) 데이터 조작을하고 모든 통지해야하는 작업이 완료되면
첫 번째 관찰자가 작업을 트리거해야하고, 모든 추가 관찰자 기다려야합니다 관찰자들. 여기
내가 무슨 짓을했는지 :class UserManager
{
val observers = ArrayList<Observer<ArrayList<User>>>()
var isFetchingUsers = false
fun getUsers(observer: Observer<ArrayList<User>>)
{
observers.add(observer)
if (isFetchingUsers)
{
return
}
api.getUserList.observeOn(AndroidSchedulers.mainThread()).subscribe(object : Observer<UserListResponse>
{
override fun onNext(response: UserListResponse)
{
// Do some manipulations on the response and notify all
observers.forEach {
it.onNext(response.getUsers())
}
}
override fun onError(e: Throwable)
{
observers.forEach {
it.onError(Throwable())
}
}
override fun onComplete()
{
isFetchingUsers = false
observers.clear()
}
override fun onSubscribe(d: Disposable)
{
}
})
}
}
가 여기 개조 관찰 생성 (이 자바에 ..)
/**
* Get users
*/
public Observable<UserListResponse> getUserList()
{
return mService.getUserList().subscribeOn(Schedulers.io());
}
나는이
을 수행하기위한 더 나은 방법이있을거야감사!