Blog, COLDSURF

JS Asynchronous

#js

Promise

비동기 μž‘μ—…μΈ PromiseλŠ” 이벀트 큐에 μŒ“μž…λ‹ˆλ‹€.
메인 μŠ€λ ˆλ“œμ˜ μž‘μ—…μ΄ λͺ¨λ‘ λλ‚œ ν›„, 비동기 ν•¨μˆ˜λŠ” JavaScript의 λΈ”λ‘œν‚Ήμ„ λ°©μ§€ν•©λ‹ˆλ‹€.
큐에 μŒ“μΈ μž‘μ—…μ€ κ°€λŠ₯ν•œ 빨리 μ‹€ν–‰λ˜λ©°, κ²°κ³ΌλŠ” JavaScript ν™˜κ²½μœΌλ‘œ λ°˜ν™˜λ©λ‹ˆλ‹€.

Worker

WorkerλŠ” κ°œλ³„ μŠ€λ ˆλ“œμ—μ„œ μž‘μ—…μ„ μ‹€ν–‰ν•  수 있게 ν•΄μ€λ‹ˆλ‹€.
ν•˜μ§€λ§Œ λ§Žμ€ μ›Œμ»€κ°€ μ—¬λŸ¬ μŠ€λ ˆλ“œλ₯Ό μ‚¬μš©ν•  경우 동기화가 보μž₯λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
λ”°λΌμ„œ 메인 μŠ€λ ˆλ“œμ˜ μ½”λ“œμ™€ μ›Œμ»€ μŠ€λ ˆλ“œμ˜ μ½”λ“œλŠ” 이 문제λ₯Ό λ°©μ§€ν•˜κΈ° μœ„ν•΄ λ…λ¦½μ μœΌλ‘œ μž‘μ„±λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.
메인 μŠ€λ ˆλ“œμ˜ μ½”λ“œμ™€ μ›Œμ»€ μŠ€λ ˆλ“œμ˜ μ½”λ“œκ°€ λ™μΌν•œ λ³€μˆ˜λ₯Ό κ³΅μœ ν•˜λ©΄ λΆ€μž‘μš©μ΄ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ›Œμ»€μ˜ μ’…λ₯˜

  • Shared Worker
  • Dedicated Worker
  • Service Worker

μ• λ‹ˆλ©”μ΄μ…˜

element.animate();

μ˜ˆμ‹œ

const aliceTumbling = [ { transform: 'rotate(0) scale(1)' }, { transform: 'rotate(360deg) scale(0)' } ]; const aliceTiming = { duration: 2000, iterations: 1, fill: 'forwards' } const alice1 = document.querySelector("#alice1"); const alice2 = document.querySelector("#alice2"); const alice3 = document.querySelector("#alice3"); alice1.animate(aliceTumbling, aliceTiming);
← Go home