[Coroutine] suspendCancellableCoroutine - Callback을 coroutine으로 변경
coroutine는 callback을 사용하지 않고 비동기 처리를 가능해주는 장점을 가지고 있습니다. 따라서 비동기 처리를 코드의 순서대로 실행시키며 가독성을 높이고, 보다 심플한 코드를 작성할 수 있도록 도와줍니다. 즉 callback을 이용하여 비동기 작업을 처리하고 이 처리 결과에 따라 다음 동작으로 이어지는 형태의 코드를 작성할 때 callback 지옥에서 빠져나올 수 있게 해주는 아주 고마운 친구입니다. 단, 기존의 라이브러리나, 안드로이드에서는 무수히 많은 callback으로 비동기 처리를 하고 있습니다. 우리가 안드로이드를 시작할 때 보게 되는 onCreate() 나 onResume()도 콜백형태 이므로, 안드로이드 시작부터가 callback입니다. (android는 framework 이므로..