Javascript

Welcome!

This community is for professionals and enthusiasts of our products and services.
Share and discuss the best content and new marketing ideas, build your professional profile and become a better marketer together.

5

Promise در جاوا اسکریپت چیست؟

آواتار
ساناز میرباقری

Promise در جاوا اسکریپت چیه و چه کاربردی دارد؟ انواع promise را هم توضیح بدین و بگین هر کدام چه معنی ای دارند و نشان دهنده چه مرحله ای هستند؟



آواتار
انصراف
1 پاسخ
5
آواتار
ساناز میرباقری
بهترین پاسخ

Promise در جاوا اسکریپت به معنی عملیات غیرمتقارن است؛ یعنی عملیاتی که برای اجرا باید منتظر اجرای عملیات دیگری باشند. در واقع پرامیس یک شی نگهدارنده است که تابعی را به عنوان ورودی دریافت کرده و پس از اتمام اجرای آن، با یک تابع callback، فراخوانی می‌شود. یک پرامیس می‌توانید در یکی از سه وضعیت قرار بگیرد:

  1. Pending: وضعیت انتظار نیز گفته می‌شود و زمانی است که کدهای تابع هنوز به طور کامل اجرا نشده‌اند.
  2. Fulfilled: وضعیتی است که کدها به صورت کامل اجرا شده‌ و تابع تکمیل شده است.
  3. Rejected: در این وضعیت اجرای تابع بنا به دلایلی با شکست مواجه شده و تابع اجرا نشده است.

کد زیر نمونه‌ای از ساخت یک پرامیس در جاوا اسکریپت را نشان می‌‌دهد.


در اینجا پرامیس از نوع شی تعریف شده که آرگومان ورودی آن یک تابع است. تابع function خود دو پارامتر ورودی با نام‌های resolve و reject دارد که هر کدام وضعیت‌های زیر را نشان می‌دهند:

  • Resolve: اجرای موفقیت آمیز عملیات آسنکرون که به آن fulfilled نیز گفته می‌شود.
  • Reject: شکست عملیات آسنکرون

اگر تابع در هر کدام از دو وضعیت بالا قرار گرفته باشد، اجرای متوقف شده و در نتیجه عمر پرامیس تعریف شده برای آن نیز به پایان می‌رسد.



اطلاعات گامل تر در این لینک 

آواتار
انصراف