Promises در جاوا اسکریپت – انجمن DEV

Summarize this content to 400 words in Persian Lang
چرا از وعده ها استفاده کنیم؟
Promises روشی ساختاریافته برای رسیدگی به وظایف ناهمزمان ارائه می دهد، کد را خواناتر می کند و از “جهنم پاسخ به تماس” جلوگیری می کند. آنها کار با وظایفی را که مقادیر آینده را برمیگردانند، مانند تماسهای API یا عملیات تاخیری، ساده میکنند.
مبانی وعده
یک جاوا اسکریپت Promise یک ارزش آتی را نشان می دهد و دارای سه حالت است:
در انتظار – وضعیت اولیه، هنوز در انتظار حل و فصل.
برآورده شد – کار با موفقیت انجام شد.
رد شد – کار با خطا انجام نشد.
روش های کلیدی
then(): اجرا می شود زمانی که عهد وفا می شود، از نتیجه آن می گذرد.
catch(): خطاهای هر وعده رد شده را می گیرد.
finally(): بدون توجه به نتیجه، پس از اتمام وعده اجرا می شود.
وعده زنجیر
Promise Chaining اجازه می دهد تا کارهای ناهمگام متوالی به ترتیب اجرا شوند:
fetchData(‘url’)
.then(result => fetchData(‘anotherURL’))
.then(result => console.log(result))
.catch(error => console.error(‘Error:’, error.message));
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مدیریت خطا در زنجیر
یک catch() در انتها هرگونه رد در زنجیره را ثبت می کند. عبارات catch() چندگانه نیز می توانند برای رسیدگی به خطاهای خاص پس از وعده های خاص در زنجیره استفاده شوند.
کاربردهای دنیای واقعی
Promises برای کارهای ناهمگام مانند درخواست های API، تایمرها و عملیات فایل ایده آل هستند.
روش های پیشرفته
Promise.all(): منتظر می ماند تا تمام وعده ها تکمیل شود. اگر هر قولی رد شود، Promise.all() به طور کامل با آن رد شکست می خورد.Promise.race(): با اولین قول معین حل یا رد می کند، خواه حل شود یا رد شود.Promise.any(): با اولین وعده محقق شده حل می شود یا در صورت رد شدن همه وعده ها شکست می خورد.
خلاصه
Promises با جایگزینی callback های تودرتو، ارائه ساختار خطی برای وظایف و ارائه مدیریت متمرکز خطا، گردش های کاری ناهمگام را ساده می کند. آنها کدهای همگام تمیز و قابل خواندن را به خصوص برای عملیات پیچیده جاوا اسکریپت فعال می کنند.
چرا از وعده ها استفاده کنیم؟
Promises روشی ساختاریافته برای رسیدگی به وظایف ناهمزمان ارائه می دهد، کد را خواناتر می کند و از “جهنم پاسخ به تماس” جلوگیری می کند. آنها کار با وظایفی را که مقادیر آینده را برمیگردانند، مانند تماسهای API یا عملیات تاخیری، ساده میکنند.
مبانی وعده
یک جاوا اسکریپت Promise
یک ارزش آتی را نشان می دهد و دارای سه حالت است:
- در انتظار – وضعیت اولیه، هنوز در انتظار حل و فصل.
- برآورده شد – کار با موفقیت انجام شد.
- رد شد – کار با خطا انجام نشد.
روش های کلیدی
-
then()
: اجرا می شود زمانی که عهد وفا می شود، از نتیجه آن می گذرد. -
catch()
: خطاهای هر وعده رد شده را می گیرد. -
finally()
: بدون توجه به نتیجه، پس از اتمام وعده اجرا می شود.
وعده زنجیر
Promise Chaining اجازه می دهد تا کارهای ناهمگام متوالی به ترتیب اجرا شوند:
fetchData('url')
.then(result => fetchData('anotherURL'))
.then(result => console.log(result))
.catch(error => console.error('Error:', error.message));
مدیریت خطا در زنجیر
یک catch() در انتها هرگونه رد در زنجیره را ثبت می کند. عبارات catch() چندگانه نیز می توانند برای رسیدگی به خطاهای خاص پس از وعده های خاص در زنجیره استفاده شوند.
کاربردهای دنیای واقعی
Promises برای کارهای ناهمگام مانند درخواست های API، تایمرها و عملیات فایل ایده آل هستند.
روش های پیشرفته
Promise.all(): منتظر می ماند تا تمام وعده ها تکمیل شود. اگر هر قولی رد شود، Promise.all() به طور کامل با آن رد شکست می خورد.
Promise.race(): با اولین قول معین حل یا رد می کند، خواه حل شود یا رد شود.
Promise.any(): با اولین وعده محقق شده حل می شود یا در صورت رد شدن همه وعده ها شکست می خورد.
خلاصه
Promises با جایگزینی callback های تودرتو، ارائه ساختار خطی برای وظایف و ارائه مدیریت متمرکز خطا، گردش های کاری ناهمگام را ساده می کند. آنها کدهای همگام تمیز و قابل خواندن را به خصوص برای عملیات پیچیده جاوا اسکریپت فعال می کنند.