2

我想PagingData<T>在某个中间类中获取对象的数据,就像ViewModel在它到达之前一样,Adapter并将其属性收集为列表。我可以通过 访问代码,flatmap但我不想应用任何更改。此外,这种访问是无用的,因为整个块在订阅 observable 之后运行,ViewModel所以它无法通过ViewModel运行来访问。

    private fun getAssignedDbList(): Flowable<PagingData<T>> {
        var list  = mutableListOf<Int>()
        return repository.getList()
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .flatMap { pagingData ->
                Flowable.just(pagingData.map
                { foo -> 
                    list.add(foo.id)
                    foo })
            }
    }

另一个例子,假设我们有这样的场景:我将在分页数据到达视图持有者之前调用另一个 API。分页数据需要填充新的 API 调用响应。如何等待第二次 API 调用更新分页数据的数据?

 private fun getListFromAPI(): Flowable<PagingData<T>> {
        var list  = mutableListOf<Int>()
        return repository.getList()
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .flatMap { pagingData ->
              //call another API calls and waiting for a response to change some of the fields of 
              //paging data
            }
    }
4

0 回答 0