fetch

RingKim1ยท2024๋…„ 7์›” 19์ผ

JavaScript

๋ชฉ๋ก ๋ณด๊ธฐ
10/10

๐Ÿ“Œfetch

  • fetch() ํ•จ์ˆ˜๋Š” JavaScript์—์„œ HTTP ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” API
  • ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ

Promise.then().catch()

fetch(url, options)
  .then(response => response.json())
  .then(data => {
    // ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ
    console.log(data);
  })
  .catch(error => {
    // ์—๋Ÿฌ ์ฒ˜๋ฆฌ
    console.error(error);
  });
  • url
    ์š”์ฒญ์„ ๋ณด๋‚ผ URL ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅ

  • options
    ์š”์ฒญ์— ๋Œ€ํ•œ ์˜ต์…˜์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด
    HTTP ๋ฉ”์†Œ๋“œ, ํ—ค๋”, ๋ณธ๋ฌธ ๋ฐ์ดํ„ฐ ๋“ฑ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Œ

  • .then()
    ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์‘๋‹ต์ด ์˜ค๋ฉด ์‹คํ–‰๋˜๋Š” ์ฝœ๋ฐฑ ํ•จ์ˆ˜
    ์‘๋‹ต ๊ฐ์ฒด๋ฅผ ๋ฐ›์Œ

  • .then()
    ๋‘ ๋ฒˆ์งธ .then() ๋ฉ”์†Œ๋“œ์—์„œ๋Š” ์‘๋‹ต ๊ฐ์ฒด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌ
    response.json()์„ ์‚ฌ์šฉํ•˜์—ฌ JSON ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜

  • .catch()
    ์š”์ฒญ ์ค‘ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์‹คํ–‰๋˜๋Š” ์ฝœ๋ฐฑ ํ•จ์ˆ˜


async/await

async function fetchData() {
  try {
    const response = await fetch(url, options);
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error(error);
  }
}

fetchData();

์ถ”ํ›„์— axios๋ž‘ ๋น„๊ต๋ฅผ ํ•ด๋ด์•ผ ๊ฒ ๋‹ค.


์ฐธ๊ณ 
React fetch ์‚ฌ์šฉ๋ฒ• Loading,Error,GET,POST

profile
์ปคํ”ผ๋Š” ์ฝœ๋“œ๋ธŒ๋ฃจ

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