#android #kotlin-coroutines #coroutine #flow #android-paging-3
#Android #котлин-сопрограммы #сопрограмма #поток #android-подкачка-3
Вопрос:
Пожалуйста, помогите с библиотекой paging3.
Сначала он запрашивает данные в библиотеку подкачки, а затем отображает пользовательский интерфейс, затем я пытаюсь обновить пользовательский интерфейс один за другим, запрашивая снова один за другим полученные данные.
// Генерировать данные по страницам
fun searchRepositories( query: String, sort: String, pageSize: Int ): Flowlt;PagingDatalt;RepoModelgt;gt; { return Pager( config = PagingConfig(pageSize) ) { GithubPagingSource( githubService = githubService, query = query, sort = sort ) }.flow }
// GithubPagingSource (расширяет источник страниц)
override suspend fun load(params: LoadParamslt;Intgt;): LoadResultlt;Int, RepoModelgt; { return try { val nextPage = params.key ?: 1 val response = githubService.searchRepositories( query = query, sort = sort, page = nextPage ) // Here, I want to update the UI by making additional requests asynchronously one by one. // response.map { requestSomeData(it) } LoadResult.Page( data = response.items.map { RepoMapper.toDomainModel(it) }, prevKey = if (nextPage == 1) null else nextPage - 1, nextKey = nextPage.plus(1) ) ... } } suspend fun requestSomeData(repoModel: RepoModel) = flow { emit(githubService.someRequest()) }
пожалуйста, помогите мне, как это решить