Этот вопрос проверяет понимание, как suspendCancellableCoroutine преобразует асинхронные колбэки в последовательный suspend-код.
Короткий ответ
suspendCancellableCoroutine приостанавливает корутину и предоставляет Continuation, который можно возобновить вручную. Это позволяет обернуть API с колбэками в suspend-функцию, делая код линейным. Если корутина отменяется, можно корректно освободить ресурсы.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.