دوره های پرنیان

تفاوت async و promiss در جاوا اسکریپت

تفاوت async و promiss در جاوا اسکریپت

در جاوا اسکریپت، کلمات کلیدی “async” و “await” برای مدیریت عملیات ناهمزمانی استفاده می‌شوند. معمولاً کدهای جاوا اسکریپت به صورت همزمان اجرا می شوند و عملیات همزمان منتظر تکمیل عملیات قبلی صرف نظر از مدت زمان طولانی تری هستند.اما اگر آن عملیات را انجام دهیم، عملیات ناهمزمان می توانند در کنار یکدیگر اجرا شوند و بدون انتظار، وظایف را تکمیل کنند.

در این مقاله، من قصد دارم توضیح دهم که چگونه می توانیم از Async-Await و Promises برای ناهمزمان کردن عملیات در جاوا اسکریپت استفاده کنیم.

  1. Promise:
    1. یک Promise یک مکانیزم ناهمزمانی است که از قبل تعریف شده و به شما اجازه می‌دهد که عملیات ناهمزمان را انجام دهید.
    1. با استفاده از .then() و .catch() می‌توانید به نتیجه‌ی یک Promise دسترسی پیدا کنید.
    1. معمولاً با استفاده از Promise‌ها، زنجیره‌ای از عملیات ناهمزمان را ایجاد می‌کنیم.
  2. Async/Await:
    1. کلمه کلیدی “async” قبل از تعریف یک تابع، آن را به عنوان تابع ناهمزمان علامت‌گذاری می‌کند.
    1. کلمه کلیدی “await” فقط در توابع async قابل استفاده است و منتظر می‌ماند تا یک Promise حل شود.
    1. با استفاده از “await”، می‌توانید کدهای ناهمزمان را به صورت خوانا‌تر و قابل فهم‌تری نوشته و اجرا کنید.

مثالی از استفاده از “await”:

async function fetchDataFromApi() { let promise = new Promise((resolve, reject) => { setTimeout(() => resolve("انجام شد!"), 1000); }); let result = await promise; console.log(result); // "انجام شد!" } fetchDataFromApi();

از شما دعوت میکنیم مقاله سوالات استخدامی جاوا اسکریپت را هم مطالعه بفرمایید..

چه زمان از async و چه زمان از promiss استفاده کنیم؟

در جاوا اسکریپت، استفاده از “async/await” و “promises” هر دو برای مدیریت کدهای ناهمزمان مفید هستند. انتخاب بین آن‌ها به نیاز‌های پروژه و سبک کدنویسی شخصی شما بستگی دارد:

  1. Async/Await:
    • “async/await” کد را خواناتر و قابل فهم‌تر می‌کند.
    • توابع async پیش‌فرضاً یک Promise را برمی‌گردانند و “await” منتظر می‌ماند تا یک Promise حل شود.
    • اگر نیاز به اجرای کدها به ترتیب مشخص دارید، از “async/await” استفاده کنید.
  2. Promises:
    • Promises انعطاف‌پذیرتر هستند و برای مرورگرهای قدیمی نیز مناسب‌اند.
    • اگر نیاز به زنجیره‌ای از عملیات ناهمزمان دارید، از Promises استفاده کنید.

به طور کلی، انتخاب بین این دو بیشتر به ترجیح شما و قابلیت‌های موجود (آیا مرورگر یا محیط اجرای Node.js شما async را پشتیبانی می‌کند؟) بستگی دارد.

امیدواریم از این مقاله آموزش ساخت پسورد قوی با جاوا اسکریپت نهایت استفاده را برده باشید و آن را با دوستانتان به اشتراک بگذارید. تیم تولید محتوای مدرسه اینترنتی پرنیان این مقاله را تهیه کرده است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

کلاس طراحی سایت