async & await ๋ž€?

HSKwonยท2022๋…„ 5์›” 18์ผ
0


๐Ÿ“šfunction ํ‚ค์›Œ๋“œ ์•ž์— async๋งŒ ๋ถ™์—ฌ์ฃผ๋ฉด ๋˜๊ณ 
๋น„๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ๋ถ€๋ถ„ ์•ž์— await๋งŒ ๋ถ™์—ฌ์ฃผ๋ฉด ๋œ๋‹ค.

async๊ฐ€ ๋ถ™์€ ํ•จ์ˆ˜๋Š” ํ”„๋ผ๋ฏธ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ํ”„๋ผ๋ฏธ์Šค๊ฐ€ ์•„๋‹Œ ๊ฒƒ์€ ํ”„๋ผ๋ฏธ์Šค๋กœ ๊ฐ์‹ธ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
await ํ‚ค์›Œ๋“œ๋ฅผ ๋งŒ๋‚˜๋ฉด ํ”„๋ผ๋ฏธ์Šค๊ฐ€ ์ฒ˜๋ฆฌ(settled)๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ํ”„๋ผ๋ฏธ์Šค๊ฐ€ ์ฒ˜๋ฆฌ๊ฐ€ ์™„๋ฃŒ๋˜์–ด resolve(๊ฐ’) ๋˜๋ฉด ๊ฐ’๋งŒ ๋”ฐ๋กœ ์ถ”์ถœํ•ด์„œ ๋ฆฌํ„ดํ•œ๋‹ค.

await๋Š” promise.then๋ณด๋‹ค ์ข€ ๋” ์„ธ๋ จ๋˜๊ฒŒ ํ”„๋ผ๋ฏธ์Šค์˜ result ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๋ฌธ๋ฒ•์ด๋‹ค. promise.then๋ณด๋‹ค ๊ฐ€๋…์„ฑ ์ข‹๊ณ  ์“ฐ๊ธฐ๋„ ์‰ฝ๋‹ค.

async์™€ await๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ํŒจํ„ด ์ค‘ ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋‚˜์˜จ ๋ฌธ๋ฒ•์ด๋‹ค. ๊ธฐ์กด์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์ธ ์ฝœ๋ฐฑ ํ•จ์ˆ˜์™€ ํ”„๋กœ๋ฏธ์Šค์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ณ  ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ๊ธฐ ์ข‹์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ์žฅ์ ์ด ์žˆ์Œ!

vs์ฝ”๋“œ์—์„œ data ์š”์ฒญํ•˜๋ฉด koreanjson์„ ๋ถˆ๋Ÿฌ์˜ฌ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ (์•ˆ๊ธฐ๋‹ค๋ฆฌ๊ณ ) console.log(data)๋ฅผ ๋ฐ”๋กœ ์ฐ์–ด๋ฒ„๋ฆฌ์ง€๋งŒ!!!
async์™€ await๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์•„๋ž˜๋กœ ๋ฐ”๋กœ ๋‚ด๋ ค๊ฐ€๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ "koreanjson"์„ ๋ถˆ๋Ÿฌ์˜ฌ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋œ๋‹ค!!!!!

profile
๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์ด๋‚˜ ๊ด€์‹ฌ ์žˆ๋Š” ์ •๋ณด๋ฅผ ๊ธ€๋กœ ์ •๋ฆฌํ•˜๋ฉฐ ์ต์ˆ™ํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

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