хочу спросить у хороших разработчиков.Может быть, кто-нибудь может лучше объяснить.Где-то в сети я обнаружил, что немногие авторы используют сопрограммы вместо, например, асинктаск.Просто пытаюсь улучшить себя.Вот небольшая часть кода, который я использовал.Просто хочу знать - хорошо это или нет.Если нет - как сделать это лучше или, может быть, в конечном итоге я использую это неправильно.
fun demoCall(callback: OnResponse) {
CoroutineScope(Dispatchers.Main).launch {
val result = withContext(Dispatchers.IO) {
Api.getResponse("GET", ApiConstants.test_endpoint)//networkOnMainThread exception if i will not use withContext
}
callback?.onResponse(result))
}
}
Этот пример работает.Но я не уверен, что это хорошее использование.Если вернуться в прошлое,
getResponse
было в asyncTask.Вызов был таким же, как и анонимный обратный вызовЕсли использовать этот способ хорошо, похоже, я могу использовать эту часть без обратного вызова?Точно так же
fun demoCall() {
CoroutineScope(Dispatchers.Main).launch {
val result = withContext(Dispatchers.IO) {
Api.getResponse("GET", ApiConstants.test_endpoint)
}
//do anything with result
//populate views , make new response etc..
}
будет очень рад, если кто-нибудь скажет мне - нормально это или нет :) С уважением