September 28, 2020
Kotlin μ±μ νλ λ§λ€μ΄λ³΄λ κ³Όμ μ Httpν΅μ μ νκ²λμλλ°, μμμλ μλ¬κ° κ³μ λ¨λλΌ..Httpν΅μ μ ν λμ, Main threadμμ μ§νμ ν μ μκΈ°λλ¬Έμ μ½λ°±λ±μ νμ©νμ¬ λ€λ₯Έ λ³λμ threadμμ μμ
μ ν΄μΌνλ€λλΌ..Promiseκ°μ²΄μ²λΌ λκΈ°, λΉλκΈ°μμ
μ λμμ£Όλκ²μ΄ μμ§μμκΉ μμ보λμ€ Coroutineμ μκ²λμλ€. val user = fetchUserData()
textView.text = user.nameHttpν΅μ μ ν΅ν΄ κ°μ λ°μμ€κ³ , κ·Έ κ°μ ν λλ‘ μμ
μ§ν.λΉμ°ν μλμλ¨. ν΅μ κ³Όμ μ μκ°μ΄ νμνμ§λ§ μ½λλ₯Ό μ½μ λ λ³λ€λ₯Έ μ½λκ° μλ€λ©΄ κΈ°λ€λ €μ£Όμ§μμ.
thread {
val user = fetchUserData()
textView.text = user.name
}main threadμμλ§ κ°λ₯νκΈ° λλ¬Έμ μλ¬κ° λ°μν¨ fetchUserData { user ->
textView.text = user.name
}λ¬Έμ μμ΄ μλλμ§λ§ μ½λ°±μ§μ₯κ³Ό λ©λͺ¨λ¦¬λ¬Έμ λ°μ
suspend fun loadUser(){
val user = api.fetchUser()
show(user)
}suspendλ μ€λ¨ λ©μλλ‘, μ½λ£¨ν΄ μμμ΄κ±°λ κ°μ μ€λ¨λ©μλ μμμ ν΄λΉ λ©μλλ₯Ό λ§λλ©΄ ν΄λΉ λ©μλκ° μλ£λ λκΉμ§ μ΄νμ μ½λλ μ½νμ§ μλλ€.λ§μΉ λκΈ°νλ μ½λκ°μ