await در جاوا اسکریپت چیه و چه کاربدی داره. با یک مثال از جاوااسکریپت توضیح بدین
1 پاسخ
به بیان ساده Await در جاوا اسکریپت اجرای دستور Async را متوقف میکند. اگر Async نباشد، Await ای هم وجود نخواهد داشت. وقتی بعد از یک پرامیس از Await استفاده میشود، این دستور اجرای مابقی کدها را تا زمان تکمیل پرامیس متوقف میکند. میتواند گفت عملکرد دو مفهوم async و await در جاوا اسکریپت مکمل یکدیگرند. بد نیست بدانید تابع Await در جاوا اسکریپت فقط با پرومیسها کار میکند و کاری به callbackها ندارد. سینتکس تابع await در جاوا اسکریپت به صورت زیر است:
در نمونهی زیر یک پرامیس داریم که در عرض یک ثانیه تکمیل میشود.
اجرای تابع بالا در خط کد (*) به حالت توقف میرود و زمانی مجددا اجرای کدها را ادامه میدهد که پرامیس به وضعیت resolve یا تکمیل رفته باشد. در نتیجه خروجی کد در یک ثانیه عبارت done! را نمایش خواهد داد. همانطور که گفته شد، await در جاوا اسکریپت، اجرای توابع را تا زمان تکمیل پرامیس متوقف میکند و بعد از کامل شدن تابع داخل پرامیس، اجرای کد را مجددا از سر میگیرد. اما، به این نکته توجه داشته باشید که این کار هیچگونه اتلاف cpu ندارد؛ چون موتور جاوا اسکریپت در این زمان میتوان به اجرای کارهای دیگری نظیر اجرای اسکریپتهای دیگر، رسیدگی به ایونتها و… بپردازد.
اطلاعات تکمیلی در این لینک