Chapter 26 : जावास्क्रिप्ट प्रॉमिसेस (JavaScript Promises)

Chapter 26 : जावास्क्रिप्ट प्रॉमिसेस (JavaScript Promises)

प्रॉमिसेस जावा स्क्रिप्ट में असिंक्रोनस कार्यों को संभालने का एक आधुनिक और शक्तिशाली तरीका है। प्रॉमिसेस आपको असिंक्रोनस कोड को अधिक पठनीय और प्रबंधनीय बनाने की अनुमति देती हैं। यह आपको कॉलबैक हैल से बचने में मदद करती हैं और कोड के प्रवाह को बेहतर बनाती हैं।

प्रॉमिसेस का परिचय (Introduction to Promises)

प्रॉमिसेस एक असिंक्रोनस ऑपरेशन का प्रतिनिधित्व करती हैं जो भविष्य में पूरा होगी। यह तीन अवस्थाओं में हो सकती है:

  1. Pending (लंबित): प्रॉमिस अभी भी पूरी नहीं हुई है।
  2. Fulfilled (पूर्ण): प्रॉमिस सफलतापूर्वक पूरी हो गई है।
  3. Rejected (अस्वीकृत): प्रॉमिस असफल हो गई है।

प्रॉमिसेस का सिंटैक्स (Syntax of Promises)

प्रॉमिसेस का उपयोग करते समय, आप new Promise कंस्ट्रक्टर का उपयोग करते हैं और एक फंक्शन पास करते हैं जिसमें दो पैरामीटर होते हैं: resolve और reject

let promise = new Promise((resolve, reject) => {
// Asynchronous operation
let success = true;

if (success) {
resolve("Operation was successful");
} else {
reject("Operation failed");
}
});

प्रॉमिसेस का उपयोग (Using Promises)

प्रॉमिसेस का उपयोग करते समय, आप then और catch मेथड्स का उपयोग करके परिणाम को संभालते हैं।

promise
.then((message) => {
console.log(message);
})
.catch((error) => {
console.log(error);
});

प्रॉमिसेस का उदाहरण (Example of Promises)

यहां एक उदाहरण है जो दिखाता है कि प्रॉमिसेस का उपयोग कैसे किया जाता है:

<!DOCTYPE html>
<html>
<head>
<title>Promises Example</title>
</head>
<body>
<script>
function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
let data = "Fetched Data";
resolve(data);
}, 2000);
});
}

fetchData()
.then((data) => {
document.write(data); // Output: Fetched Data
})
.catch((error) => {
document.write(error);
});
</script>
</body>
</html>

कॉलबैक हैल से बचना (Avoiding Callback Hell)

प्रॉमिसेस का सबसे बड़ा लाभ यह है कि यह कॉलबैक हैल से बचने में मदद करती हैं और कोड को अधिक पठनीय बनाती हैं।

कॉलबैक हैल का समाधान (Solution to Callback Hell):

function firstTask() {
return new Promise((resolve) => {
setTimeout(() => {
console.log("First Task Complete");
resolve();
}, 1000);
});
}

function secondTask() {
return new Promise((resolve) => {
setTimeout(() => {
console.log("Second Task Complete");
resolve();
}, 1000);
});
}

function thirdTask() {
return new Promise((resolve) => {
setTimeout(() => {
console.log("Third Task Complete");
resolve();
}, 1000);
});
}

firstTask()
.then(secondTask)
.then(thirdTask)
.then(() => {
console.log("All Tasks Complete");
});

प्रॉमिसेस के लाभ (Advantages of Promises)

  1. पठनीयता: प्रॉमिसेस के उपयोग से आपका कोड अधिक पठनीय और समझने में आसान हो जाता है।
  2. प्रबंधन: यह असिंक्रोनस कार्यों को प्रबंधित करने का एक प्रभावी तरीका है।
  3. कॉलबैक हैल से बचना: प्रॉमिसेस का उपयोग करके आप कॉलबैक हैल से बच सकते हैं और कोड को संरचित रख सकते हैं।

प्रॉमिसेस का उपयोग करके, आप जावा स्क्रिप्ट में असिंक्रोनस कार्यों को अधिक कुशल और प्रभावी ढंग से संभाल सकते हैं। यह आपके कोड को अधिक पठनीय, प्रबंधनीय और बनाए रखने में आसान बनाता है।



Index