async
์await
๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ฌธ๋ฒ ์ค ํ๋์ด๋ค. ๊ธฐ์กด์ ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ฐฉ์์ ๋จ์ ์ธ ์ฝ๋๊ฐ ๊ธธ์ด์ง๋ ๊ฒ๊ณผ ์ฝ๋ฐฑ์ง์ฅ์์ ๋ฒ์ด๋ ์ ์๊ฒ ๋์์ฃผ๊ณ , ์ฝ๋์ ๊ฐ๋ ์ฑ์ ์ด๋ ค์ค๋ค.
const ํจ์๋ช
= async() => {
await ๋น๋๊ธฐ ์ฒ๋ฆฌ ์ฝ๋
}
axios
์ ๊ฐ์ ํ๋ก๋ฏธ์ค๋ฅผ ๋ฐํํ๋ API ํธ์ถ ํจ์์ ์ฃผ๋ก ์ฐ์ธ๋ค.const asyncCall = async() => {
const data = await fetch()
if (data.id === 1) {
console.log(data.name)
}
}
fetch
๊ฐ ํธ์ถ๋๊ณ data๋ฅผ ๋ฐ์์ค๋ฉด if๋ฌธ์ผ๋ก ๋์ด๊ฐ ํ ์ฝ์์ด ์ถ๋ ฅ๋๋ค.ํ๋ก๋ฏธ์ค์์ .catch()
๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ฒ๋ผ async & await์์๋ ๋น์ทํ๊ฒ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ค.
error
๊ฐ์ฒด์ ๋ด์ฉ์ด ๋ด๊ธฐ๊ธฐ ๋๋ฌธ์ ์ ํ์ ๋ง๊ฒ ์ฒ๋ฆฌํ ์ ์๊ณ , ํต์ ์ค๋ฅ์ ๊ฐ๋จํ ํ์
์ค๋ฅ ๋ฑ ์ผ๋ฐ์ ์ธ ์ค๋ฅ๋ ์ก์๋ผ ์ ์๋ค.
try
๋ด๋ถ์๋ ์ฑ๊ณต ๊ด๋ จ ๋ก์ง๋ง ์๊ณ , catch
๋ด๋ถ์๋ ์คํจ ๊ด๋ จ ๋ก์ง๋ง ์๋ค.
const asyncCall = async() => {
try {
const data = await fetch()
if (data.id === 1) {
console.log(data.name)
}
} catch(error) {
console.log(error);
}
}