Asynchronous JavaScript
در جاوااسکریپت، Asynchronous به معنی اجرای کدها به صورت غیرهمزمان است، یعنی برخی عملیات میتونن بعد از مدتی اجرا بشن بدون اینکه اجرای بقیه کد متوقف بشه.
این موضوع برای کار با شبکه، فایلها، یا عملیات زمانبر بسیار مهمه.
🔹 روشهای اجرای Asynchronous
1. Callbacks
تابعی که به عنوان آرگومان به تابع دیگری داده میشود و بعد از اتمام عملیات اجرا میشود.
📌 خروجی بعد از 2 ثانیه:
2. Promises
یک Promise نشاندهنده نتیجه آینده یک عملیات است:
📌 خروجی:
3. Async / Await
راهی ساده برای نوشتن کدهای غیرهمزمان به صورت همزمان به نظر برسد.
📌 خروجی بعد از 2 ثانیه:
🔹 Event Loop
-
جاوااسکریپت تکنخی (Single-threaded) هست، اما با Event Loop میتونه کارهای غیرهمزمان رو مدیریت کنه.
-
Callbackها و Promiseها در Queue قرار میگیرن و بعد از اتمام کدهای همزمان اجرا میشن.
✅ خلاصه
-
Asynchronous JavaScript اجازه میده عملیات زمانبر بدون مسدود کردن کدهای دیگر اجرا بشن.
-
سه روش اصلی: Callbacks, Promises, Async/Await.
-
Event Loop مسئول مدیریت صف عملیات غیرهمزمان است.