Promises
در جاوااسکریپت، Promise یک شیء است که نشاندهنده نتیجه آینده یک عملیات غیرهمزمان میباشد.
Promiseها جایگزین Callbackها هستن و به مدیریت بهتر کدهای غیرهمزمان کمک میکنن.
🔹 وضعیتهای Promise
یک Promise سه حالت ممکن داره:
-
Pending → در حال انجام
-
Fulfilled (Resolved) → با موفقیت کامل شده
-
Rejected → با خطا مواجه شده
🔹 ساخت Promise
🔹 استفاده از then()
و catch()
📌 خروجی اگر success = true:
🔹 مثال عملی با setTimeout
📌 خروجی بعد از 2 ثانیه:
🔹 متدهای مفید Promise
1. Promise.all()
منتظر میمونه تا همه Promiseها کامل بشن و نتایجشون رو به صورت آرایه برمیگردونه.
2. Promise.race()
به محض اینکه یکی از Promiseها کامل شد، نتیجه اون رو برمیگردونه.
✅ خلاصه
-
Promise نمایانگر نتیجه آینده یک عملیات غیرهمزمان است.
-
سه حالت: Pending, Fulfilled, Rejected
-
متدهای اصلی:
then()
,catch()
,finally()
-
متدهای کمکی:
Promise.all()
,Promise.race()
-
جایگزین مناسب برای Callbackها و جلوگیری از Callback Hell