Node.js अनुप्रयोगों को विकसित करने की प्रक्रिया में, इवेंट हैंडलिंग और एसिंक्रोनस प्रोसेसिंग को समझना और काम करना महत्वपूर्ण है। Node.js एक इवेंट-संचालित और एसिंक्रोनस मॉडल पर बनाया गया है, जो कार्यों को पूरा होने की प्रतीक्षा किए बिना निष्पादित करने की अनुमति देता है। वास्तव में, इवेंट हैंडलिंग और एसिंक्रोनस प्रोसेसिंग को समझना और सही ढंग से लागू करना एप्लिकेशन प्रदर्शन को अनुकूलित करने का एक अनिवार्य हिस्सा है।
callback Node.js में इवेंट और एस
Node.js में, ईवेंट और callback s अतुल्यकालिक संचालन को संभालने में महत्वपूर्ण भूमिका निभाते हैं। ईवेंट किसी एप्लिकेशन के भीतर होने वाली कुछ क्रियाओं या घटनाओं को संभालने और प्रतिक्रिया देने का एक तरीका है। Callback दूसरी ओर, एस वे फ़ंक्शन हैं जो किसी विशिष्ट घटना या ऑपरेशन के पूरा होने के बाद निष्पादित होते हैं।
Node.js एक इवेंट-संचालित आर्किटेक्चर प्रदान करता है जहां एप्लिकेशन के विभिन्न भाग इवेंट उत्सर्जित कर सकते हैं और उन्हें सुन सकते हैं। यह एक साथ कई परिचालनों के कुशल और गैर-अवरुद्ध प्रसंस्करण की अनुमति देता है।
Callback अतुल्यकालिक संचालन को संभालने के लिए आमतौर पर Node.js में s का उपयोग किया जाता है। उन्हें फ़ंक्शंस के तर्क के रूप में पारित किया जाता है और ऑपरेशन पूरा होने के बाद निष्पादित किया जाता है। Callback अतुल्यकालिक कार्यों के दौरान होने वाले परिणामों या त्रुटियों को संभालने का एक तरीका प्रदान करता है।
यहां callback Node.js में a का उपयोग करने का एक उदाहरण दिया गया है:
// A function that takes a callback
function fetchData(callback) {
// Simulate fetching data from an asynchronous operation
setTimeout(() => {
const data = { name: 'John', age: 30 };
callback(null, data); // Pass the data to the callback
}, 2000); // Simulate a 2-second delay
}
// Call the fetchData function and provide a callback
fetchData((error, data) => {
if(error) {
console.error('Error:', error);
} else {
console.log('Data:', data);
}
});
इस उदाहरण में, हमारे पास एक फ़ंक्शन है fetchData
जो एसिंक्रोनस ऑपरेशन से डेटा लाने का अनुकरण करता है(उदाहरण के लिए, एपीआई कॉल करना या डेटाबेस को क्वेरी करना)। यह एक callback फ़ंक्शन को एक तर्क के रूप में लेता है।
फ़ंक्शन के अंदर fetchData
, हम setTimeout
एसिंक्रोनस ऑपरेशन को अनुकरण करने के लिए उपयोग करते हैं। 2-सेकंड की देरी के बाद, हम कुछ नमूना डेटा बनाते हैं और इसे callback एक त्रुटि के साथ फ़ंक्शन में पास करते हैं(जो null
इस मामले में सेट है)।
फ़ंक्शन के बाहर fetchData
, हम इसे कॉल करते हैं और एक callback फ़ंक्शन प्रदान करते हैं। में callback, हम किसी भी संभावित त्रुटि को संभालते हैं और प्राप्त डेटा को संसाधित करते हैं। यदि कोई त्रुटि है, तो हम इसे कंसोल पर लॉग इन करते हैं। अन्यथा, हम डेटा लॉग करते हैं।
callback यह एसिंक्रोनस संचालन को संभालने और डेटा उपलब्ध होने के बाद संसाधित होने को सुनिश्चित करने के लिए Node.js में उपयोग करने का एक बुनियादी उदाहरण है । वास्तविक दुनिया के परिदृश्यों में, callback आमतौर पर डेटाबेस प्रश्नों, एपीआई अनुरोधों और अन्य अतुल्यकालिक कार्यों को संभालने के लिए एस का उपयोग किया जाता है।
एस का उपयोग करना Promise और अतुल्यकालिकता को संभालना async/await
एसिंक्रोनस कार्यों को आसान और कुशल तरीके से संभालने के लिए Node.js में "एसिंक्रोनस ऑपरेशंस का उपयोग करना Promise और उन्हें संभालना" एक सामान्य दृष्टिकोण है। एक ऑब्जेक्ट है जो हमें एसिंक्रोनस ऑपरेशंस को प्रबंधित और संभालने में मदद करता है, जबकि एक सिंटैक्स है जो हमें सिंक्रोनस कोड के समान एसिंक्रोनस कोड लिखने की अनुमति देता है। async/await Promise JavaScript async/await
Promise और का उपयोग करके, हम एसिंक्रोनस कोड को अधिक आसानी से और सहजता से लिख सकते हैं। अब हमें एसिंक्रोनस ऑपरेशंस को संभालने के लिए फ़ंक्शंस का उपयोग करने और नरक(नेस्टेड फ़ंक्शंस) से निपटने की आवश्यकता नहीं है। इसके बजाय, हम a के पूरा होने की प्रतीक्षा करने और उसका परिणाम वापस करने के लिए wait कीवर्ड का उपयोग कर सकते हैं । async/await callback callback callback Promise
अतुल्यकालिक संचालन को संभालने के लिए Node.js में Promise और का उपयोग करने का एक उदाहरण यहां दिया गया है: async/await
// A mock function to fetch data from an API
function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
const data = { name: 'John', age: 30 };
resolve(data); // Return data within the Promise
}, 2000);
});
}
// Using async/await to handle asynchronous operations
async function getData() {
try {
const data = await fetchData(); // Wait for the Promise to complete and return the data
console.log('Data:', data);
} catch(error) {
console.error('Error:', error);
}
}
// Call the getData function
getData();
इस उदाहरण में, हम fetchData
एपीआई(या किसी एसिंक्रोनस ऑपरेशन) से डेटा लाने का अनुकरण करने के लिए फ़ंक्शन का उपयोग करते हैं। यह फ़ंक्शन a लौटाता है Promise, जहां हम resolve
डेटा वापस करने के लिए फ़ंक्शन को कॉल करते हैं।
फ़ंक्शन के बाहर fetchData
, हम try/catch
त्रुटियों को संभालने के लिए एक ब्लॉक का उपयोग करते हैं। फ़ंक्शन में getData
, हम डेटा को पूरा करने और वापस करने await
के लिए प्रतीक्षा करने के लिए कीवर्ड का उपयोग करते हैं। Promise यदि इसमें कोई त्रुटि है Promise, तो यह एक अपवाद फेंक देगा और हम इसे catch
ब्लॉक में संभाल लेंगे।
अंत में, हम getData
एसिंक्रोनस प्रोसेसिंग शुरू करने के लिए फ़ंक्शन को कॉल करते हैं। Promise पूरा होने और डेटा लौटाने के बाद परिणाम कंसोल पर लॉग किया जाएगा ।
एसिंक्रोनस ऑपरेशंस से निपटने के दौरान इसका उपयोग हमारे कोड को अधिक पठनीय Promise और समझने में आसान बनाता है। यह हमें नरक से बचने में मदद करता है और हमें सिंक्रोनस कोड लिखने के समान अनुक्रमिक तरीके से कोड लिखने की अनुमति देता है। async/await callback
निष्कर्ष: Node.js अनुप्रयोगों के विकास में इवेंट हैंडलिंग और एसिंक्रोनस प्रोसेसिंग दो महत्वपूर्ण पहलू हैं। संबंधित अवधारणाओं और उपकरणों को समझकर और उनका सही उपयोग करके, आप Node.js प्लेटफ़ॉर्म पर कुशल, लचीले और विश्वसनीय एप्लिकेशन बना सकते हैं।