我如何使用存储库 android 中的流程?

How can i work with flow inside repository android?

我编写的代码在没有 kotlin flow 的情况下也能正常工作,但我想尝试 kotlin flow,当我在存储库中使用它时,但不知何故它甚至没有进入内部我找不到任何解决方案,因为它没有抛出任何错误,它只是没有进入内部功能,我认为这是因为流量收集器。它即将到达存储库,但对于回购它没有进入。

class NewsRepositoryImpl(private val newsService: NewsService) : NewsRepository {
override suspend fun getNews(search: String): Flow<ResultWrapper<List<Article>>> = flow {
    emit(ResultWrapper.Loading)
    try {
        val news = newsService.getNews(search, BuildConfig.API_KEY)
        emit(ResultWrapper.Success(news.articles.map { it.toArticle() }))
    } catch (e: Exception) {
        emit(ResultWrapper.Error(e.message))
    }   
  }
}

使用 flow 生成器创建冷数据流。其中的代码仅在流被收集时执行,即 terminal operators 被调用,例如 collectcollectLatestfirst....

coroutineScope.launch {
    newsRepository.getNews("news").collectLatest { result ->
        // use result
    }
}