Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
7
Преобразование функции с callback в suspend‑функцию
Компании, где спрашивали:
Effective Mobile
Условие задачи
В проекте используется API, которое осуществляет сетевой запрос. Его метод getUser принимает идентификатор и функцию‑обработчик (callback). Требуется обернуть этот асинхронный вызов в suspend‑функцию, чтобы можно было получать результат в корутине без явного колбэка.
//--> метод getUser работает асинхронно но нам нужно получить данные синхронно в корутине
Api().getUser(id) { user ->
}
//ответ
suspend fun getUser(id: String): User = suspendCoroutine<User> { continuation ->
Api().getUser(id) { user ->
continuation.resume(user)
}
}