useEffect ํ›… ์•ˆ์—์„œ async ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

useEffect ํ›… ์•ˆ์—์„œ async ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” ์ต๋ช…ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๊ณ  ๋‘ ๋ฒˆ์งธ๋Š” Promise ๋ฅผ ํ•ด๊ฒฐํ•˜์—ฌ async ๋ฅผ ์“ฐ์ง€ ์•Š์•„๋„ ๋˜๊ฒŒ๋” ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

1. ์ต๋ช…ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ

์•„๋ž˜์™€ ๊ฐ™์ด async ๋กœ ๊ฐ์‹ผ ์ต๋ช…ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•ด await ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

useEffect(() => {
  (async () => {
    await axios.post('blabla.com');
  })();
}, []);

2. Promise ํ•ด๊ฒฐ

์ด ๋ฐฉ๋ฒ•์€ ๋” ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ Promise then() ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

useEffect(() => {
  axios.post('blabla.com').then(response => response);  
}, []);