PanicMonster
11/14/2021, 6:43 AMfun loadBlogArticles(onSuccess: (List<Blog>) -> Unit, onError: () -> Unit) {
val request = Request.Builder()
.get()
.url(BLOG_ARTICLES_URL)
.build()
executor.execute {
runCatching {
val response: Response = client.newCall(request).execute()
response.body?.string()?.let { json ->
gson.fromJson(json, BlogData::class.java)?.let { blogData ->
return@runCatching blogData.data
}
}
}.onFailure { e: Throwable ->
Log.e("BlogHttpClient", "Error loading blog articles", e)
onError()
}.onSuccess { value: List<Blog>? ->
onSuccess(value ?: emptyList())
}
}
}
rkeazor
11/14/2021, 7:33 AMEunice
11/15/2021, 2:00 PM