September 28, 2020
Kotlin
μ±μ νλ λ§λ€μ΄λ³΄λ κ³Όμ μ Http
ν΅μ μ νκ²λμλλ°, μμμλ μλ¬κ° κ³μ λ¨λλΌ..Http
ν΅μ μ ν λμ, Main thread
μμ μ§νμ ν μ μκΈ°λλ¬Έμ μ½λ°±λ±μ νμ©νμ¬ λ€λ₯Έ λ³λμ thread
μμ μμ
μ ν΄μΌνλ€λλΌ..Promiseκ°μ²΄
μ²λΌ λκΈ°, λΉλκΈ°μμ
μ λμμ£Όλκ²μ΄ μμ§μμκΉ μμ보λμ€ Coroutine
μ μκ²λμλ€. val user = fetchUserData()
textView.text = user.name
Http
ν΅μ μ ν΅ν΄ κ°μ λ°μμ€κ³ , κ·Έ κ°μ ν λλ‘ μμ
μ§ν.λΉμ°ν μλμλ¨. ν΅μ κ³Όμ μ μκ°μ΄ νμνμ§λ§ μ½λλ₯Ό μ½μ λ λ³λ€λ₯Έ μ½λκ° μλ€λ©΄ κΈ°λ€λ €μ£Όμ§μμ.
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
λ μ€λ¨ λ©μλλ‘, μ½λ£¨ν΄ μμμ΄κ±°λ κ°μ μ€λ¨λ©μλ μμμ ν΄λΉ λ©μλλ₯Ό λ§λλ©΄ ν΄λΉ λ©μλκ° μλ£λ λκΉμ§ μ΄νμ μ½λλ μ½νμ§ μλλ€.λ§μΉ λκΈ°νλ μ½λκ°μ