240219 TIL ๐ถ
๋ํ์ ์ธ ๋น๋๊ธฐ ํต์ ๋ฐฉ๋ฒ์ผ๋ก๋
axios์ fetch๊ฐ ์๋ค.
์ด๋ฒ์๋ fetch์ ๋ํด ์์๋ณด๊ณ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ axios์ ๋นํด ๊ฐ์ง ๋จ์ ์ ์์๋ณด์ :)
Fetch
๋จผ์ Fetch๋,
ES6๋ถํฐ ๋์ ๋ Javascript ๋ด์ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, Promise ๊ธฐ๋ฐ ๋น๋๊ธฐ ํต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
๋ด์ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๊ธฐ ๋๋ฌธ์ (axios์ ๋ฌ๋ฆฌ) ๋ณ๋์ ์ค์น ๋ฐ import๊ฐ ํ์ํ์ง ์๋ค
- BUT, axios์ ๋นํด ๋จ์ ์ด ์๋ค.
- ๋ฏธ์ง์ ๋ธ๋ผ์ฐ์ ์กด์ฌ
- ๊ฐ๋ฐ์์๊ฒ ๋ถ์น์ ํ response
- axios์ ๋นํด ๋ถ์กฑํ ๊ธฐ๋ฅ
axios์ ๋นํด ๋ถํธํ ๋จ์ ์ ํฌ๊ฒ ๋ค์์ ๋ ์ผ์ด์ค์์ ๋ณผ ์ ์๋ค.
1) ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ฌ ๋
2) ์๋ฌ ์ฒ๋ฆฌ ์
1) ์๋ฅผ ๋ค์ด, ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ฌ ๋์ ๋จ์ ์,
- ์๋์ ๊ฐ์ด json์ผ๋ก (๊ท์ฐฎ๊ฒ..ใ ใ ) ๋ฐ๋ก ๋ณํํด์ค์ผ ํ๋ค๋ ์ ์ด๋ค! ๋๊ฐ์ .then() ์ด ํ์
fetch(url)
.then((response) => response.json())
.then(console.log);
- (๋ฐ๋ฉด axios๋ ์๋ต์ ๊ธฐ๋ณธ์ ์ผ๋ก jsonํฌ๋งท์ผ๋ก ์ ๊ณตํด์ค)
2) ์๋ฌ ์ฒ๋ฆฌ ์, ๊ฐ๋ฐ์๊ฐ ์ผ์ผํ then ( ) ์์ ๋ชจ๋ ์ผ์ด์ค์ ๋ํ http ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ํด์ผ ํ๋ค..!
(catch( ) ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๋ ๋คํธ์ํฌ ์ฅ์ ์ผ์ด์ค์ผ ๋ฟ)
fetch(url)
.then((response) => {
if (!response.ok) {
throw new Error(
`This is an HTTP error: The status is ${response.status}`
);
}
return response.json();
})
.then(console.log)
.catch((err) => {
console.log(err.message);
});
- (๋ฐ๋ฉด axios๋ ๊ณง๋ฐ๋ก ์๋ฌ ํธ๋ค๋ง์ด ๊ฐ๋ฅ. ์๋ฌ ๊ฐ์ฒด๊ฐ response๋ฅผ ์์ธํ๊ฒ ์ค๋ค. const { status, config } = err.response; ์ด๋ฐ ์์ผ๋ก)