takahirom
04/04/2023, 1:33 AMsuspend fun getLatestNews(refresh: Boolean = false): List<ArticleHeadline> {
if (refresh || latestNews.isEmpty()) {
val networkResult = newsRemoteDataSource.fetchLatestNews()
// Thread-safe write to latestNews
latestNewsMutex.withLock {
this.latestNews = networkResult
}
}
return latestNewsMutex.withLock { this.latestNews }
}
Source:
https://developer.android.com/topic/architecture/data-layer#cache_the_result_of_the_network_request
↓
suspend fun getLatestNews(refresh: Boolean = false): List<ArticleHeadline> {
return latestNewsMutex.withLock {
if (refresh || latestNews.isEmpty()) {
val networkResult = newsRemoteDataSource.fetchLatestNews()
this.latestNews = networkResult
}
this.latestNews
}
}
takahirom
04/04/2023, 1:43 AMchanjungskim
04/04/2023, 2:38 AMtakahirom
04/04/2023, 2:44 AMMcEna
04/09/2023, 8:08 PMMcEna
04/09/2023, 8:10 PMMcEna
04/09/2023, 8:14 PMMcEna
04/09/2023, 8:20 PMMcEna
04/09/2023, 8:22 PMJan
04/12/2023, 5:32 PMJan
04/12/2023, 5:35 PM