Promise در جاوا اسکریپت و کاربردهای آن

Promise در جاوا اسکریپت و کاربردهای آن

دسته : Javascript

کد محصول : 112

قیمت : رایگان

با عرض سلام خدمت شما امروز قصد دارم به توضیح این که Promise چیست بپردازم و اقدام به پیاده سازی دو مثال ساده پیرامون این موضوع کنم . Promise چیست : شاید برای شما پیش آمده باشد که یک request به وسیله ajax سمت سرور(backend) ارسال کرده و منتظر جواب مانده(pending) باشد .اصلاحا به این مدت زمانی که شما منتظر جواب از سمت سرور هستید و کار دیگری انجام نمیدهید تا از جواب آن اطمینان حاصل کنید به این عملیات انتظار async می گویند.


با عرض سلام خدمت شما امروز قصد دارم به توضیح این که Promise چیست بپردازم و اقدام به پیاده سازی دو مثال ساده پیرامون این موضوع کنم .

Promise چیست :

شاید برای شما پیش آمده باشد که یک request به وسیله ajax سمت سرور(backend) ارسال کرده و منتظر جواب مانده(pending) باشد .اصلاحا به این مدت زمانی که شما منتظر جواب از سمت سرور هستید و کار دیگری انجام نمیدهید تا از جواب آن اطمینان حاصل کنید به این عملیات انتظار async می گویند.

Promise

حالا promise شرایطی را برای شما ایجاد میکند که از این حالت سردرگمی بیرون آمده و مطمئن باشد که این انتظار هرچند جواب مثبت(resolve) یا  منفی (reject)بالاخره به جواب رسیده اید .

مثال اول Promise :

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

  //قول تمیز کردن منزل 

let promiseToCleanTheRoom = new Promise(function(resolve, reject) {



  //تمیز نکردن  

  let isClean = false;

  //نشان دهنده این است بر اساس مقدار خط بالا که قول انجام دادن کار با موفقیت انجام میشود یا عدم موفقیت 
  if (isClean) {
    resolve('Clean');
  } else {
    reject('not Clean');
  }

});

promiseToCleanTheRoom.then(function(fromResolve) {
  console.log('the room is' + fromResolve);
}).catch(function(fromReject){
	console.log('the room is' + fromReject);
})

 

دستوری که در console مرورگر چاپ میشود the room is not clean چون مقدار is clean false است اصطلاحا میگوییم این قول reject شده است .

 

مثال دوم از promise :

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

داده باشید برای مثال کار های زیر را فرض کنید .

  1. ابتدا باید منزل را تمیز کنید 
  2. سپس آشغال ها را خالی کنید 
  3. در نهایت شما برنده یک بستنی خوشمزه هستید 

 

let cleanRoom = function() {
  return new Promise(function(resolve, reject) {
    resolve('Cleaned The Room');
  });
};

let removeGarbage = function(message) {
  return new Promise(function(resolve, reject) {
    resolve(message + ' remove Garbage');
  });
};

let winIcecream = function(message) {
  return new Promise(function(resolve, reject) {
    resolve( message + ' won Icecream');
  });
};

cleanRoom().then(function(result){
	return removeGarbage(result);
}).then(function(result){
	return winIcecream(result);
}).then(function(result){
	console.log('finished ' + result);
}) 

 

امیدوارم تونسته باشم با دو مثال کاربردی به شما نحوه ایجاد promise را گفته باشم و از ایجاد توابع async تو در تو و زشت به یک نظم زیبا در کد نویسی js به وسیله promise رسیده باشیم

منتظر سوالات و نظرات شما در مورد مطالب تدریس شده هستم .

 

  • Promise در جاوا اسکریپت و کاربردهای آن را با دوستان خود به اشتراک بگذارید.
  • سوالات خود را در بخش پرسش و پاسخ این مطلب ثبت کنید.
  • مطالب خود را در جاب تیم به اسم خود ثبت کنید ارسال مطلب


ثبت سوال/پاسخ
در مورد کاربر : "من همیشه می توانم آزادانه انتخاب کنم، اما باید بدانم که اگر انتخاب نکنم، باز هم انتخابی کرده ام."
اشتراک گذاری این مطلب
{