我正在阅读Google的data layer guide,在其中一个链接段落中,他们有以下代码片段:
使用Koin注入NewsApi依赖项非常简单,但我如何使用Koin注入CoroutineDispatcher实例?我在Koin网站上使用了搜索功能,但没有任何结果。过滤后的ddg搜索也没有太多结果。
class NewsRemoteDataSource(
private val newsApi: NewsApi,
private val ioDispatcher: CoroutineDispatcher
) {
/**
* Fetches the latest news from the network and returns the result.
* This executes on an IO-optimized thread pool, the function is main-safe.
*/
suspend fun fetchLatestNews(): List<ArticleHeadline> =
// Move the execution to an IO-optimized thread since the ApiService
// doesn't support coroutines and makes synchronous requests.
withContext(ioDispatcher) {
newsApi.fetchLatestNews()
}
}
}
// Makes news-related network synchronous requests.
interface NewsApi {
fun fetchLatestNews(): List<ArticleHeadline>
}
使用Koin注入NewsApi依赖项非常简单,但我如何使用Koin注入CoroutineDispatcher实例?我在Koin网站上使用了搜索功能,但没有任何结果。过滤后的ddg搜索也没有太多结果。