Розбираємо два основні будівники корутин із
kotlinx.coroutines:
launch (корутина заради дії / побічного ефекту) і
async (корутина заради результату). Зʼясуємо, що таке
Deferred<T>, навіщо потрібен
await(), як не зруйнувати конкурентність передчасним очікуванням, де доречно поєднувати
launch і
async, а також яких помилок найчастіше припускаються новачки.