𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗣𝗿𝗼𝗺𝗶𝘀𝗲𝘀
ఒక 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: అన్ని టాస్క్లను పూర్తి చేస్తుంది.
