چرا به یک Web Worker نیاز دارید؟ Web Worker یک جزء کد برای یک برنامه وب است. این به توسعهدهنده اجازه میدهد تا یک رشته اجرایی جدید برای یک کار جاوا اسکریپت ایجاد کند تا در اجرای برنامه اصلی اختلال ایجاد نکند.
در نگاه اول، ممکن است به نظر برسد که مرورگرها ذاتاً از Threading پشتیبانی می کنند و توسعه دهنده نباید کار خاصی انجام دهد. متاسفانه اینطور نیست. Web Workers یک مشکل همزمانی واقعی را حل می کند.
Web Workers بخشی از استانداردهای عملکردی مورد انتظار مرورگرهای وب هستند و مشخصات آنها در W3C نوشته شده است. فریم ورک Angular Web Workers را برای ما جمع کرده است و ما به راحتی می توانیم آنها را با استفاده از رابط خط فرمان Angular (CLI) به برنامه خود اضافه کنیم.
در این مقاله ابتدا برخی تصورات غلط در مورد همزمانی رشته با جاوا اسکریپت در مرورگر را بررسی می کنیم. سپس، یک مثال کاربردی ایجاد میکنیم که نشان میدهد اجرای Web Workers با Angular چقدر آسان است، که رشتههای همزمان را در یک وبسایت فعال میکند.
آیا جاوا اسکریپت ذاتاً همزمان نیست؟
برخی از توسعه دهندگان بر این باورند که جاوا اسکریپت ذاتاً در مرورگر همزمان است، زیرا وقتی مرورگر به یک وب سایت متصل می شود و HTML یک صفحه را بازیابی می کند، می تواند چندین اتصال را باز کند (حدود شش) و منابع (تصاویر، CSS پیوند شده…