𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗣𝗿𝗼𝗺𝗶𝘀𝗲𝘀
एक Promise एक asynchronous कार्य के परिणाम को दर्शाता है।
आप API calls, database queries, और file reading के लिए Promises का उपयोग करते हैं।
एक Promise की तीन states होती हैं:
- Pending: कार्य अभी भी चल रहा है।
- Fulfilled: कार्य सफलतापूर्वक पूरा हो गया।
- Rejected: कार्य त्रुटि (error) के साथ विफल हो गया।
इसकी संरचना इस प्रकार दिखती है:
const promise = new Promise((resolve, reject) => { // The executor runs immediately });
आप इन methods के साथ परिणामों को संभालते हैं:
- .then(): जब promise सफल होता है तब चलता है।
- .catch(): जब promise विफल होता है तब चलता है।
- .finally(): परिणाम चाहे जो भी हो, कार्य समाप्त होने पर चलता है।
याद रखने योग्य महत्वपूर्ण नियम:
- पहला परिणाम ही मान्य होता है। यदि आप resolve() और फिर reject() कॉल करते हैं, तो resolve ही जीतेगा।
- Executor function synchronously चलता है।
- async और await का उपयोग करने से आपका कोड .then() का उपयोग करने की तुलना में पढ़ने में आसान हो जाता है।
कई promises को संभालना:
- Promise.all(): यह fail-fast दृष्टिकोण का पालन करता है। यदि एक promise विफल हो जाता है, तो पूरा समूह विफल हो जाता है।
- Promise.allSettled(): यह प्रत्येक promise के समाप्त होने की प्रतीक्षा करता है। यह परिणाम लौटाता है, भले ही कुछ कार्य विफल हो जाएं।
सारांश:
- Promise: एक asynchronous परिणाम हैंडलर।
- resolve: सफलता को दर्शाता है।
- reject: विफलता को दर्शाता है।
- async/await: Promises लिखने का एक स्वच्छ तरीका।
- Promise.all: पहली error पर रुक जाता है।
- Promise.allSettled: सभी कार्यों को पूरा करता है।
