- JavaScript는 기본적으로 단일 스레드에서 실행되므로, 무거운 작업은 UI 멈춤을 유발할 수 있습니다. ⚠️
- Web Worker는 별도의 스레드를 생성하여 UI의 응답성을 유지하면서 무거운 작업을 처리할 수 있게 합니다. 🛠️
- Web Worker는 메인 스레드와 독립적으로 작업을 수행하고 결과를 반환하는 '원격 비서'와 같습니다. 📧
- Web Worker는 대용량 JSON/CSV 파싱, 이미지/비디오 처리, 데이터 변환 등 CPU 집약적인 작업에 유용합니다. 🧮
- UI 관련 작업이나 DOM 접근이 필요한 경우, Web Worker를 사용하지 않는 것이 좋습니다. 🎨
- 50ms 이상 걸리는 CPU 집약적인 작업으로 UI에 끊김이 발생한다면 Web Worker를 사용하세요. ⏱️
- API 호출과 같이 CPU 바운드가 아닌 비동기 작업에는 async/await을 사용하는 것이 적합합니다. 🌐