😎 κ³΅λΆ€ν•˜λŠ” μ§•μ§•μ•ŒνŒŒμΉ΄λŠ” μ²˜μŒμ΄μ§€?

javascript의 동기와 λΉ„λ™κΈ°λž€ λ³Έλ¬Έ

πŸ‘©‍πŸ’» 컴퓨터 ꡬ쑰/About Computer

javascript의 동기와 λΉ„λ™κΈ°λž€

μ§•μ§•μ•ŒνŒŒμΉ΄ 2022. 11. 22. 16:23
728x90
λ°˜μ‘ν˜•

<λ³Έ λΈ”λ‘œκ·ΈλŠ” gobae λ‹˜μ˜ λΈ”λ‘œκ·Έλ₯Ό μ°Έκ³ ν•΄μ„œ κ³΅λΆ€ν•˜λ©° μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€ :-)>

https://gobae.tistory.com/100

 

[μžλ°”μŠ€ν¬λ¦½νŠΈ] 동기와 비동기 μ΄ν•΄ν•˜κΈ°.

동기와 비동기 동기 Synchronous : λ™μ‹œμ— λ°œμƒν•˜λŠ” 순차적/직렬적으둜 νƒœμŠ€ν¬λ₯Ό μˆ˜ν–‰ν•œλ‹€. μš”μ²­μ„ λ³΄λƒˆλ‹€λ©΄, 응닡을 λ°›μ•„μ•Ό λ‹€μŒ λ™μž‘μ΄ 이루어진닀. 순차적으둜 μ‹€ν–‰λ˜λ―€λ‘œ, μ–΄λ–€ μž‘μ—…μ΄ μˆ˜ν–‰μ€‘

gobae.tistory.com

 

 

 

🧸 동기 Synchronous

  • 순차적/직렬적으둜 νƒœμŠ€ν¬λ₯Ό μˆ˜ν–‰
  • μš”μ²­μ„ λ³΄λƒˆλ‹€λ©΄, 응닡을 λ°›μ•„μ•Ό λ‹€μŒ λ™μž‘μ΄ 이루어짐
  • 순차적으둜 μ‹€ν–‰λ˜λ―€λ‘œ, μ–΄λ–€ μž‘μ—…μ΄ μˆ˜ν–‰μ€‘μ΄λΌλ©΄ λ’€μ˜ μž‘μ—…μ€ λŒ€κΈ°ν•¨
  • λΈ”λ‘œν‚Ή(μž‘μ—… 쀑단)이 λ°œμƒ

 

🧸 λΉ„동기 Asynchronous

  • λ³‘λ ¬μ μœΌλ‘œ νƒœμŠ€ν¬λ₯Ό μˆ˜ν–‰
  • ν˜„μž¬ μž‘μ—…μ˜ μ’…λ£Œμ—¬λΆ€μ™€ λ¬΄κ΄€ν•˜κ²Œ λ‹€μŒ μž‘μ—…μ„ μ‹€ν–‰
  • κ·ΈλŸ¬λ―€λ‘œ 동기 λ°©μ‹κ³ΌλŠ” 달리 μ™„λ£Œ μˆœμ„œκ°€ 보μž₯λ˜μ§€ μ•ŠμŒ
  • λΈ”λ‘œν‚Ήμ΄ λ°œμƒν•˜μ§€ μ•ŠμŒ
  • μ„œλ²„μ™€ 톡신할 λ•Œ κ°€μž₯ λ§Žμ€ μ‹œκ°„μ΄ μ†Œμš”λ˜λ―€λ‘œ λ„€νŠΈμ›Œν¬ κ΄€λ ¨ μž‘μ—…λ“€μ€ λΉ„λ™κΈ°μ μœΌλ‘œ κ΅¬ν˜„λ˜μ–΄ 있음

1) μ½œλ°±ν•¨μˆ˜ μ‚¬μš©

νŠΉμ •ν•¨μˆ˜μ— λ§€κ°œλ³€μˆ˜λ‘œ μ „λ‹¬λœ ν•¨μˆ˜λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.즉, λ‚˜μ€‘μ— 호좜될 ν•¨μˆ˜λ“€

ν•¨μˆ˜μ˜ 인자처럼 μ „λ‹¬λ˜μ–΄μ„œ μ“°μ΄λŠ” ν•¨μˆ˜

const print = () => console.log('hi');

setTimeout(print, 2000)

 

2) Promise

세가지 μƒνƒœ(States)

  1. Pending(λŒ€κΈ°) : 비동기 처리 둜직이 아직 μ™„λ£Œλ˜μ§€ μ•Šμ€ μƒνƒœ
  2. Fulfilled(이행) : 비동기 처리 둜직이 μˆ˜ν–‰μ™„λ£Œλ˜μ–΄ κ²°κ³Ό 값을 λ°˜ν™˜ν•œ μƒνƒœ
  3. Rejected(μ‹€νŒ¨) : 비동기 μ²˜λ¦¬κ°€ μ‹€νŒ¨ν•˜κ±°λ‚˜ μ—λŸ¬κ°€ λ°œμƒν•œ μƒνƒœ

 

3) Async/Await

asyncλΌλŠ” ν‚€μ›Œλ“œλ₯Ό λΆ™μ—¬ μ‚¬μš©ν•΄μ•Ό ν•˜λ©° μ„ μ–Έλœ async ν•¨μˆ˜ μ•ˆμ—μ„œλ§Œ await ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©

async function ν•¨μˆ˜λͺ…() {
  await 비동기_처리_λ©”μ„œλ“œ_λͺ…();
}

 

 

 

728x90
λ°˜μ‘ν˜•
Comments