[JavaScript] fetch API

Hannahhhยท2022๋…„ 7์›” 28์ผ
0

JavaScript

๋ชฉ๋ก ๋ณด๊ธฐ
35/47

๐Ÿ‘€ fetch API

๋น„๋™๊ธฐ ์š”์ฒญ์˜ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์‚ฌ๋ก€๋Š” ๋„คํŠธ์›Œํฌ ์š”์ฒญ์ด๋ฉฐ, ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง€๋Š” ์š”์ฒญ์€ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๊ฐ€ ์žˆ๋‹ค.

๊ทธ ์ค‘์—์„œ URL๋กœ ์š”์ฒญํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ด๋ฉฐ, URL๋กœ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” API๊ฐ€ fetch API ์ด๋‹ค.


์•„๋ž˜์˜ ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉด, ํ•ญ์ƒ ๋™์ ์œผ๋กœ ๋ณ€ํ•˜๋Š” ์ •๋ณด์™€, ๊ณ ์ •์ ์ธ ์ •๋ณด๊ฐ€ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋Š”๋ฐ, ์ตœ์‹  ๋‰ด์Šค๋‚˜ ์˜ค๋Š˜ ๋‚ ์”จ(๋‚ ์”จ/๋ฏธ์„ธ๋จผ์ง€ ์ •๋ณด)๋Š” ๋™์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์•ผํ•˜๋Š” ์ •๋ณด์ด๋‹ค.

์ด๋Ÿฐ ๊ฒฝ์šฐ, ํ•ญ์ƒ ๋™์ ์œผ๋กœ ๋ณ€ํ•˜๋Š” ์ •๋ณด(๋‰ด์Šค, ๋‚ ์”จ)๋งŒ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์š”์ฒญ API๋ฅผ ์ด์šฉํ•ด์•ผํ•˜๋Š”๋ฐ, fetch API๋ฅผ ์ด์šฉํ•ด ํ•ด๋‹น ์ •๋ณด๋ฅผ ์›๊ฒฉ URL๋กœ๋ถ€ํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒฝ์šฐ๋ฅผ ์‚ดํŽด๋ณด์ž.

์•„๋ž˜๋Š” ์›๊ฒฉ URL๋กœ๋ถ€ํ„ฐ ์ •๋ณด๋ฅผ ๋ฐ›์•„์™€์„œ ํŠน์ • DOM element๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์ปจ์…‰์„ ๋„์‹ํ™”ํ•œ ๊ทธ๋ฆผ์ด๋‹ค.


fetch API๋Š” ์œ„์™€ ๊ฐ™์ด, ํŠน์ • URL๋กœ๋ถ€ํ„ฐ ์ •๋ณด๋ฅผ ๋ฐ›์•„์˜ค๋Š” ์—ญํ• ์„ ํ•˜๋ฉฐ, ์ด ๊ณผ์ •์ด ๋น„๋™๊ธฐ๋กœ ์ด๋ฃจ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์—, ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๋‹ค์†Œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๋Š” ์ž‘์—…์„ ์š”๊ตฌํ•  ๊ฒฝ์šฐ์—๋Š” blocking์ด ๋ฐœ์ƒํ•˜๋ฉด ์•ˆ ๋˜๋ฏ€๋กœ, ํŠน์ • DOM์— ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋  ๋•Œ๊นŒ์ง€ ๋กœ๋”ฉ ์ฐฝ์„ ๋Œ€์‹  ๋„์šฐ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค.



โœ” ์‚ฌ์šฉ ์˜ˆ์‹œ


let url =
  "https://koreanjson.com/posts/1";
fetch(url)
  .then((response) => response.json())
  .then((json) => console.log(json))
  .catch((error) => console.log(error));

์œ„์˜ ์ฝ”๋“œ๋ฅผ ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ € ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ์ฝ˜์†”์ฐฝ์— ์ž…๋ ฅ ํ›„, ์‹คํ–‰ํ•œ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.




Reference: ์ฝ”๋“œ์Šคํ…Œ์ด์ธ 

0๊ฐœ์˜ ๋Œ“๊ธ€