Async / Await
در جاوااسکریپت، Async / Await یک روش ساده و خوانا برای نوشتن کدهای غیرهمزمان (Asynchronous) هست.
با کمک آن میتوان Promiseها را به صورت کدی شبیه همزمان (Synchronous) نوشت و مدیریت کرد.
🔹 تعریف Async Function
تابعی که با کلمه کلیدی async
تعریف میشود، همیشه یک Promise برمیگرداند.
📌 خروجی:
🔹 استفاده از Await
-
await
فقط داخل async function قابل استفاده است. -
باعث میشود که اجرای کد منتظر تکمیل Promise بماند و سپس ادامه پیدا کند.
📌 خروجی بعد از 2 ثانیه:
🔹 مدیریت خطا با try / catch
-
با استفاده از
try / catch
میتوان خطاهای Promise را به راحتی مدیریت کرد.
🔹 اجرای موازی Promiseها
گاهی میخواهیم چند Promise همزمان اجرا بشن و سپس منتظر تمام اونها باشیم:
✅ خلاصه
-
async
→ تابع را به Promise تبدیل میکند. -
await
→ منتظر تکمیل یک Promise میماند و نتیجه را برمیگرداند. -
try / catch
→ مدیریت خطاها در async functions -
Promise.all()
→ اجرای موازی چند Promise و انتظار برای تمام آنها -
Async / Await خوانایی کدهای غیرهمزمان را بسیار افزایش میدهد و جایگزین Callbackها و زنجیره
then()
میشود.