Event Loop در JavaScript چیست؟
اگر تا به حال از setTimeout، Promise، fetch یا async/await استفاده کرده باشید، در واقع با Event Loop سروکار داشتهاید؛ حتی اگر از وجود آن خبر نداشته باشید. Event Loop یکی از مهمترین بخشهای موتور JavaScript است که وظیفه مدیریت اجرای کدهای همزمان (Synchronous) و غیرهمزمان (Asynchronous) را بر عهده دارد. بدون وجود Event Loop، JavaScript نمیتوانست درخواستهای شبکه، انیمیشنها، تایمرها یا عملیات فایل را بدون توقف اجرای برنامه مدیریت کند. در این مقاله یاد میگیرید JavaScript چگونه کدها را اجرا میکند، Call Stack چیست، Web APIs چه کاری انجام میدهند، Callback Queue چیست، Promise Queue یا Microtask Queue چگونه کار میکند، چرا Promise قبل از setTimeout اجرا میشود، چرا setTimeout همیشه دقیق نیست و Event Loop مرحله به مرحله چگونه تصمیم میگیرد کدام کد اجرا شود. اگر قصد شرکت در مصاحبههای Front-End یا یادگیری عمیق JavaScript را دارید، درک Event Loop یکی از مهمترین مباحثی است که باید به آن مسلط باشید.



