تفاوت async و promiss در جاوا اسکریپت
در جاوا اسکریپت، کلمات کلیدی “async” و “await” برای مدیریت عملیات ناهمزمانی استفاده میشوند. معمولاً کدهای جاوا اسکریپت به صورت همزمان اجرا می شوند و عملیات همزمان منتظر تکمیل عملیات قبلی صرف نظر از مدت زمان طولانی تری هستند.اما اگر آن عملیات را انجام دهیم، عملیات ناهمزمان می توانند در کنار یکدیگر اجرا شوند و بدون انتظار، وظایف را تکمیل کنند.
در این مقاله، من قصد دارم توضیح دهم که چگونه می توانیم از Async-Await و Promises برای ناهمزمان کردن عملیات در جاوا اسکریپت استفاده کنیم.
- Promise:
- یک Promise یک مکانیزم ناهمزمانی است که از قبل تعریف شده و به شما اجازه میدهد که عملیات ناهمزمان را انجام دهید.
- با استفاده از .then() و .catch() میتوانید به نتیجهی یک Promise دسترسی پیدا کنید.
- معمولاً با استفاده از Promiseها، زنجیرهای از عملیات ناهمزمان را ایجاد میکنیم.
- Async/Await:
- کلمه کلیدی “async” قبل از تعریف یک تابع، آن را به عنوان تابع ناهمزمان علامتگذاری میکند.
- کلمه کلیدی “await” فقط در توابع async قابل استفاده است و منتظر میماند تا یک Promise حل شود.
- با استفاده از “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” هر دو برای مدیریت کدهای ناهمزمان مفید هستند. انتخاب بین آنها به نیازهای پروژه و سبک کدنویسی شخصی شما بستگی دارد:
- Async/Await:
- “async/await” کد را خواناتر و قابل فهمتر میکند.
- توابع async پیشفرضاً یک Promise را برمیگردانند و “await” منتظر میماند تا یک Promise حل شود.
- اگر نیاز به اجرای کدها به ترتیب مشخص دارید، از “async/await” استفاده کنید.
- Promises:
- Promises انعطافپذیرتر هستند و برای مرورگرهای قدیمی نیز مناسباند.
- اگر نیاز به زنجیرهای از عملیات ناهمزمان دارید، از Promises استفاده کنید.
به طور کلی، انتخاب بین این دو بیشتر به ترجیح شما و قابلیتهای موجود (آیا مرورگر یا محیط اجرای Node.js شما async را پشتیبانی میکند؟) بستگی دارد.
امیدواریم از این مقاله تفاوت async و promiss در جاوا اسکریپت نهایت استفاده را برده باشید و آن را با دوستانتان به اشتراک بگذارید. تیم تولید محتوای مدرسه اینترنتی پرنیان این مقاله را تهیه کرده است.
درباره مدیریت
شما در حال مطالعه یکی از مقالات آموزشی وبلاگ پرنیان بودید. اگر برایتان مفید بود آن را با دوستانتان به اشتراک بگذارید. من پارسا قربانیان و اینجا مدرسه فرانت اند پرنیان، میخواهیم در یک معامله برد برد، با هم به آرزوهایمان برسیم..
نوشته های بیشتر از مدیریت2 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلاااام جناب استاد قربانیان- این مقاله رو مطالعه کردم و بسیار مفید بود- ممنون از زحمت شما
سلام. سپاس از پیام شما