๐ ๋น๋๊ธฐ, ์ฝ๋ฐฑ ํจ์, Promise, async/await, Node.js์ ์ด์ด์ fetch API
์ ๋ํด ํ์ตํ์๋ค.
์์ง fetch API
๊ฐ ๋ฌด์์ธ์ง, fetch
๋ฅผ ์ด์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๋ถ๋ฌ์ค๋์ง ๋ช
ํํ์ง ์์ ๊ฒ ๊ฐ์ ํ๋ฒ ์ ๋ฆฌํ๋ฉฐ ๋ณต์ตํด๋ณด๊ณ ์ ํ๋ค.
์ด์ ๊น์ง ํ์ตํ ๋น๋๊ธฐ ์์ฒญ์ ๊ฐ์ฅ ๋ํ์ ์ธ ์ฌ๋ก๋
๋คํธ์ํฌ ์์ฒญ
์ด๋ค. ๋คํธ์ํฌ๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋ ์์ฒญ์ ํํ๊ฐ ๋ค์ํ๋ฐ ๊ฐ์ฅ ํํ ํํ๊ฐ URL๋ก ์์ฒญํ๋ ๊ฒฝ์ฐ์ด๋ค.
์ด ๋, URL๋ก ์์ฒญํ๋ ๊ฒ์ ๊ฐ๋ฅ์ผ ํด์ฃผ๋ API๊ฐ ๋ฐ๋ก fetch API์ ๋๋ค.
์ด๋ ๊ฒ ์๋ฒ์ ๋น๋๊ธฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ ์ AJAX๋ผ๊ณ ํ๋ค.
๋ค์ ์ ๋ฆฌํด๋ณด์๋ฉด,AJAX
๋ ์๋ก ๊ณ ์นจ ์์ด ์๋ฒ์๊ฒ GET ์์ฒญ์ ํ๋javascript
์ฝ๋์ธ ๊ฒ์ด๋ค.
(์ด๊ฑด ์ด๋์ ๋ ์๋ฒ์ ๋ํ ์ดํด๊ฐ ํ์ํ ๋ถ๋ถ, ์ด์ ๋ํ ์ ๋ฆฌ๋ ์ด์ ์ ํ์๋ค.[server์ ๋ํ ์ดํด])
1. ์ํ๋ ๋ฐ์ดํฐ URL
2. ํด๋น URL๋ก GET ์์ฒญ<script> fetch('https://github.com/codestates-seb/fe-sprint-async-and-promise-reference') .then((response) => { // ์๋ฌ๋ฅผ ์์ ์ก์์ฃผ๊ณ ์ถ๋ค๋ฉด if (!response.ok) { throw new Error('400 ํน์ 500 ์๋ฌ ์๊น') } return reponse.json() }) .then((๊ฒฐ๊ณผ) => { console.log(๊ฒฐ๊ณผ) // ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ํ๊ณ ์ถ๋ค๋ฉด .catch(() => { console.log('์๋ฌ ์๊น') }) }) </script>
<script> asyn function ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๋ ํจ์(){ let response = await fetch('https://github.com/codestates-seb/fe-sprint-async-and-promise-reference') if (!response.ok) { throw new Error('400 ํน์ 500 ์๋ฌ ์๊น') } let result = await response.json(); console.log(result) } ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๋ ํจ์().catch(() => { console.log('์๋ฌ ์๊น') }); </script>