λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

async

(2)
μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ Promise와 await/async Promise μžλ°”μŠ€ν¬λ¦½νŠΈ Promise κ°μ²΄λŠ” 비동기 μž‘μ—…μ˜ μ΅œμ’… μ™„λ£Œ λ˜λŠ” μ‹€νŒ¨λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λ…μžμ μΈ 객체이닀. 비동기 μž‘μ—…μ΄ 끝날 λ•ŒκΉŒμ§€ κ²°κ³Όλ₯Ό κΈ°λ‹€λ¦¬λŠ” 것이 μ•„λ‹ˆλΌ, κ²°κ³Όλ₯Ό μ œκ³΅ν•˜κ² λ‹€λŠ” '약속'을 λ°˜ν™˜ν•œλ‹€λŠ” μ˜λ―Έμ—μ„œ Promise라 λͺ…λͺ… μ§€μ–΄μ‘Œλ‹€κ³  ν•œλ‹€. Promise 객체λ₯Ό μƒμ„±ν•˜λ €λ©΄ new ν‚€μ›Œλ“œμ™€ Promise μƒμ„±μž ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ λœλ‹€. μ΄λ•Œ Promise μƒμ„±μž μ•ˆμ— λ‘κ°œμ˜ λ§€κ°œλ³€μˆ˜λ₯Ό κ°€μ§„ 콜백 ν•¨μˆ˜λ₯Ό λ„£κ²Œ λ˜λŠ”λ°, 첫 번째 μΈμˆ˜λŠ” μž‘μ—…μ΄ μ„±κ³΅ν–ˆμ„ λ•Œ 성곡(resolve)μž„μ„ μ•Œλ €μ£ΌλŠ” 객체이며, 두 번째 μΈμˆ˜λŠ” μž‘μ—…μ΄ μ‹€νŒ¨ν–ˆμ„ λ•Œ μ‹€νŒ¨(reject)μž„μ„ μ•Œλ €μ£ΌλŠ” 였λ₯˜ 객체이닀. const myPromise = new Promise((resolve, reject) => { // 비동기 μž‘μ—…..
μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ 비동기 μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” μ‹±κΈ€ μŠ€λ ˆλ“œ 언어이기 λ•Œλ¬Έμ— ν•œ λ²ˆμ— ν•˜λ‚˜μ˜ μž‘μ—…λ§Œ μˆ˜ν–‰ν•  수 μžˆλ‹€. 이전 μž‘μ—…μ΄ μ™„λ£Œλ˜μ–΄μ•Ό λ‹€μŒ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλ‹€. μ΄λŸ¬ν•œ μ½”λ“œ 순차 싀행을 동기(Synchronous)라고 ν•œλ‹€. κ·ΈλŸ¬λ‚˜ μž‘μ—…μ΄ 였래 κ±Έλ¦¬κ±°λ‚˜ 응닡이 λŠ¦μ–΄μ§€λŠ” κ²½μš°μ— 전체적인 μ„±λŠ₯에 영ν–₯을 쀄 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄ μ„œλ²„μ— 데이터λ₯Ό μš”μ²­ν•˜κ³  응닡을 λ°›μ•„μ•Ό ν•˜λŠ” μž‘μ—…μ΄ μžˆλ‹€λ©΄, 응닡이 올 λ•ŒκΉŒμ§€ λŒ€κΈ°ν•΄μ•Ό ν•œλ‹€. μ΄λŸ¬ν•œ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ λ„μž…λœ κ°œλ…μ΄ 비동기(Asynchronous)이닀. λΉ„λ™κΈ°λŠ” νŠΉμ • μž‘μ—…μ˜ μ™„λ£Œλ₯Ό 기닀리지 μ•Šκ³  λ‹€λ₯Έ μž‘μ—…μ„ λ™μ‹œμ— μˆ˜ν–‰ν•  수 있게 ν•œλ‹€. λΉ„λ™κΈ°λŠ” 메인 μŠ€λ ˆλ“œκ°€ μž‘μ—…μ„ λ‹€λ₯Έ 곳에 μΈκ°€ν•˜μ—¬ 처리되게 ν•˜κ³ , κ·Έ μž‘μ—…μ΄ μ™„λ£Œλ˜λ©΄ 콜백 ν•¨μˆ˜λ₯Ό λ°›μ•„ μ‹€ν–‰ν•˜λŠ” λ°©μ‹μœΌλ‘œ, μ‰½κ²Œ 말해 μž‘μ—…μ„ 백그라운..