𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗣𝗿𝗼𝗺𝗶𝘀𝗲𝘀

ఒక Promise అనేది ఒక asynchronous టాస్క్ యొక్క ఫలితాన్ని సూచిస్తుంది.

మీరు API calls, database queries మరియు file reading కోసం Promises ఉపయోగిస్తారు.

ఒక Promise మూడు స్టేట్స్ (states) కలిగి ఉంటుంది:

  • Pending: టాస్క్ ఇంకా రన్ అవుతూనే ఉంది.
  • Fulfilled: టాస్క్ విజయవంతంగా పూర్తయింది.
  • Rejected: టాస్క్ ఎర్రర్‌తో విఫలమైంది.

దీని నిర్మాణం (structure) ఇలా ఉంటుంది:

const promise = new Promise((resolve, reject) => { // The executor runs immediately });

మీరు ఈ మెథడ్స్ (methods) ద్వారా ఫలితాలను హ్యాండిల్ చేయవచ్చు:

  • .then(): Promise విజయవంతమైనప్పుడు ఇది రన్ అవుతుంది.
  • .catch(): Promise విఫలమైనప్పుడు ఇది రన్ అవుతుంది.
  • .finally(): ఫలితం ఏదైనా కావచ్చు, టాస్క్ ముగిసినప్పుడు ఇది రన్ అవుతుంది.

గుర్తుంచుకోవలసిన ముఖ్యమైన నియమాలు:

  • మొదటి ఫలితమే గెలుస్తుంది. మీరు resolve() ని పిలిచి, ఆ తర్వాత reject() ని పిలిస్తే, resolve గెలుస్తుంది.
  • Executor function సింక్రోనస్‌గా (synchronously) రన్ అవుతుంది.
  • .then() ఉపయోగించడం కంటే async మరియు await ఉపయోగించడం వల్ల మీ కోడ్ చదవడానికి సులభంగా ఉంటుంది.

మల్టిపుల్ (multiple) Promises ని హ్యాండిల్ చేయడం:

  • Promise.all(): ఇది fail-fast విధానాన్ని అనుసరిస్తుంది. ఒకే ఒక promise విఫలమైనా, మొత్తం గ్రూప్ విఫలమవుతుంది.
  • Promise.allSettled(): ఇది ప్రతి promise పూర్తయ్యే వరకు వేచి ఉంటుంది. కొన్ని టాస్క్‌లు విఫలమైనప్పటికీ, ఇది ఫలితాలను అందిస్తుంది.

సారాంశం (Summary):

  • Promise: ఒక asynchronous రిజల్ట్ హ్యాండ్లర్.
  • resolve: విజయాన్ని సూచిస్తుంది.
  • reject: వైఫల్యాన్ని సూచిస్తుంది.
  • async/await: Promises రాయడానికి ఒక సులభమైన మార్గం.
  • Promise.all: మొదటి ఎర్రర్ రాగానే ఆగిపోతుంది.
  • Promise.allSettled: అన్ని టాస్క్‌లను పూర్తి చేస్తుంది.

Source: https://dev.to/malik786/javascript-promises-2hn4