λλμ΄ λ΄μΌμ΄λ©΄ μ½λμ€ν μ΄μΈ ν리μ½μ€ νλ¬ κ³Όμ μ΄ λλλ€. μ€λμ λ§μ§λ§ κ³Όμ μ΄κ³ λ΄μΌ H.A μνμ 보면 μ λ§λ‘ λμ΄λλ€!!
μ€λ μ£Όμ΄μ§ λ§μ§λ§ κ³Όμ λ λ μ¨ APIλ₯Ό λ°μμμ νμ¬ λ μ¨λ₯Ό μλ €μ£Όλ μ΄ν리μΌμ΄μ μ λ§λλ κ³Όμ κ° μ£Όμ΄μ‘λ€. κ·Έλμ λ°°μ λ μ€ν¬λ€μ μ λΆ νμ©μ ν΄μ κ³Όμ λ₯Ό μ μΆν΄μΌλ§ νλ€.
κ·Έλμ κ·Έλμ λ°°μ λ html, css, js, domκΉμ§ λ°°μ λ λͺ¨λ μ§μλ€μ λ€ νμ©ν΄μ κ³Όμ λ₯Ό μ§ννλ€.
λ¨Όμ API(Application Programming Interface)λ μλ²κ° ν΄λΌμ΄μΈνΈμκ² λ¦¬μμ€λ₯Ό μ νμ©ν μ μλλ‘ μΈν°νμ΄μ€(interface)λ₯Ό μ 곡ν΄μ£Όλ μν μ νλ κ²μ΄λ€.
μ¬κΈ°μ μλ²λ λ μ¨ μ 곡μ ν΄μ£Όκ³ , λ μμ νΉμ νλ‘κ·Έλ¨μ ν΄λΌμ΄μΈνΈ(client)λΌκ³ νλ€. μ΄λ ν΄λΌμ΄μΈνΈλ μΉ λΈλΌμ°μ κ° λ μλ μκ³ , λ§λ€κ³ μ νλ λ μ¨ μ±μ΄ λ μλ μλ€.
μλ²λ λΈλΌμ°μ λ°μ μμμ΄λ€.
κ·Έλ κΈ°μ ν΄λΌμ΄μΈνΈ(λ μμ )κ° μλ²μ μμ²μ ν΄μ λ μ¨μ±μ μ 곡λ°λ κ²μ΄ λ°λ‘ APIμ΄λ€.
μλ²μ μμ²νκΈ°
μ€λ λ°°μ΄ μ½λλ₯Ό μ 리νμλ©΄
function getData() {
// fetch λ₯Ό νμ©ν΄μ μλ²λ‘ μμ²νκ³ μλ΅μ λ°μ μ μκ² νλ€.
// fetchλ Promise<Response>λ₯Ό λ°ννλλ° μ΄ μνλ‘λ λ°λ‘ λ°μ΄ν°λ₯Ό μ¬μ©ν μκ° μλ€.
// μ΄ μ€μμ Responseλ₯Ό κΊΌλ΄κ³ , μλ²μμ μ 곡νλ JSON λ°μ΄ν°λ₯Ό μΈ μ μκ² ν΄μ£Όλ
// json() λ©μλλ₯Ό μ΄μ©νλ©΄ μ¬μ© κ°λ₯ν λ°μ΄ν° ννλ‘ λ§λ€μ΄, μ 보λ€μ νμ©ν μ μκ²λλ€!
fetch(openweathermap url)
// then()μ μλ²μ μμ²νκ³ μλ΅μ λ°λ κ³Όμ μμ ν΅μ μ μ±κ³΅νλ κ²½μ°, μ½λ°±ν¨μλ₯Ό μ€νμμΌμ£Όλ μν μ νλ€.
.then(function (data) { // μ¬κΈ°μ dataλ μ£Όμμ΄λ€.
return data.json // μ°λ¦¬κ° μλ°μ€ν¬λ¦½νΈμμ νμ©ν μ μλ κ°μ²΄ νΉμ λ°°μ΄μ ννλ‘ λ³ν
})
.then(function (json) {
renderWeatherData(json);
}
}
μ€λ λ°°μ΄ λ΄μ©μ μ΅λν κ°λ΅νκ² μ 리ν΄λ³΄μλ€!
λ΄μΌμ΄λ©΄ κΈ°λ€λ¦¬κ³ κΈ°λ€λ¦¬λ H.A(μ¬νκ³Όμ λ€μ΄κ°κΈ° μ ν μ€νΈ μν)λ₯Ό λ³΄κ² λλ€. λ°°μ΄μλ€λ μ΄λ ΅λ€λ μ΄λ¨ΈμλΈλ μΌλ§λ μ΄λ €μΈκΉβ¦
μ λ§ μ€λ λ° κ±±μ λ°μΌλ‘ μ΄λ¨ΈμλΈμ κ°κ² λ κ² κ°λ€.
π λ΄μΌμ TIW(today I Will)
H.A μν, νκ³ λ‘μμ±νκΈ°