๋ชฉ์ฐจ
async await ๐
- async await๋?
async await
1. async await๋?
- ๊ฐ๋จํ๊ณ ๊ฐ๋
์ฑ ์ข๊ฒ
๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ๋๊ธฐ ์ฒ๋ฆฌ์ฒ๋ผ ๋์ํ๋๋ก ๊ตฌํ
ํ ์ ์๋ async/await๊ฐ ๋์ - ํ๋ก๋ฏธ์ค์ ํ์ ์ฒ๋ฆฌ ๋ฉ์๋ ์์ด ๋ง์น ๋๊ธฐ ์ฒ๋ฆฌ์ฒ๋ผ ํ๋ก๋ฏธ์ค๊ฐ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋๋ก ๊ตฌํํ ์ ์์
async
: function ํค์๋ ์์ ๋ฐฐ์น (async๊ฐ ๋ถ์ ํจ์๋ ํ๋ผ๋ฏธ์ค๋ฅผ ๋ฐํํ๊ณ , ํ๋ผ๋ฏธ์ค๊ฐ ์๋ ๊ฒ์ ํ๋ผ๋ฏธ์ค๋ก ๊ฐ์ธ ๋ฐํํจ)await
: ๋น๋๊ธฐ๋ก ์ฒ๋ฆฌ๋๋ ๋ถ๋ถ ์์ ๋ฐฐ์น (await ํค์๋๋ฅผ ๋ง๋๋ฉด ํ๋ผ๋ฏธ์ค๊ฐ ์ฒ๋ฆฌ(settled)๋ ๋๊น์ง ๊ธฐ๋ค๋ฆผ) ++ Promise์ .then()์ ํตํ ๋๊ธฐ ์ฒ๋ฆฌ์ ๊ฐ์ ์ญํ1 2 3 4 5 6 7 8 9 10
//async await async function f() { let promise = new Promise((resolve, reject) => { setTimeout(() => resolve("์๋ฃ!"), 1000); }); let result = await promise; // ์๋๋ผ๋ฉด, promise.then(()=>{})์ ํตํด ๋น๋๊ธฐ๋ฅผ ๋ฐ์์ผํ์ง๋ง // await ํค์๋๋ก ์ง๊ด์ ์ด์ด์ก๋ค. alert(result); // "์๋ฃ!" } f();
2. promise์ async await
์๋ฌ ํธ๋ค๋ง
- Promise ๋ฅผ ํ์ฉํ ์์๋ .catch() ๋ฌธ์ ํตํด ์๋ฌ ํธ๋ค๋ง์ ํด์ผ ํ์ง๋ง,
- async/await ์ try / catch๋ฅผ ํตํด ์๋ฌ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค
์ฝ๋ ๊ฐ๋ ์ฑ
-Promise์ ํ์ ์ฒ๋ฆฌ ๋ฉ์๋์ธ .then() ์ hell์ ๊ฐ๋ฅ์ฑ -async/await ์ ํ๋ก๋ฏธ์ค์ ํ์ ์ฒ๋ฆฌ ๋ฉ์๋ ์์ด ๋ง์น ๋๊ธฐ ์ฒ๋ฆฌ์ฒ๋ผ ํ๋ก๋ฏธ์ค๊ฐ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋๋ก ๊ตฌํํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฝ๋ ํ๋ฆ์ ์ดํด ํ๊ธฐ ์ฌ์
์ถ์ฒ