Node.js एप्लिकेसनहरू विकास गर्ने प्रक्रियामा, घटना ह्यान्डलिंग र एसिन्क्रोनस प्रशोधनसँग बुझ्ने र काम गर्ने महत्त्वपूर्ण छन्। Node.js घटना-संचालित र एसिन्क्रोनस मोडेलमा बनाइएको छ, कार्यहरू पूरा हुनको लागि पर्खाइ बिना कार्यान्वयन गर्न अनुमति दिन्छ। वास्तवमा, घटना ह्यान्डलिङ र एसिन्क्रोनस प्रशोधनलाई बुझ्ने र सही रूपमा लागू गर्ने अनुप्रयोग प्रदर्शनलाई अनुकूलन गर्ने एक आवश्यक भाग हो।
callback Node.js मा घटनाहरू र s
Node.js मा, घटनाहरू र callback s ले एसिन्क्रोनस सञ्चालनहरू ह्यान्डल गर्न महत्त्वपूर्ण भूमिका खेल्छ। घटनाहरू एप्लिकेसन भित्र हुने निश्चित कार्य वा घटनाहरूलाई ह्यान्डल गर्ने र प्रतिक्रिया दिने तरिका हो। Callback s, अर्कोतर्फ, कार्यहरू हुन् जुन एक पटक विशेष घटना वा अपरेशन पूरा भएपछि कार्यान्वयन गरिन्छ।
Node.js ले घटना-संचालित वास्तुकला प्रदान गर्दछ जहाँ अनुप्रयोगका विभिन्न भागहरूले घटनाहरू उत्सर्जन गर्न र तिनीहरूको लागि सुन्न सक्छन्। यसले एकैसाथ धेरै अपरेशनहरूको कुशल र गैर-ब्लकिङ प्रशोधन गर्न अनुमति दिन्छ।
Callback s सामान्यतया Node.js मा एसिन्क्रोनस अपरेशनहरू ह्यान्डल गर्न प्रयोग गरिन्छ। तिनीहरू प्रकार्यहरूमा तर्कको रूपमा पास हुन्छन् र सञ्चालन पूरा भएपछि कार्यान्वयन गरिन्छ। Callback s ले एसिन्क्रोनस कार्यहरूमा हुने परिणाम वा त्रुटिहरू ह्यान्डल गर्ने तरिका प्रदान गर्दछ।
यहाँ Node.js मा प्रयोग गर्ने एउटा उदाहरण छ callback:
// 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
एसिन्क्रोनस अपरेशन सिमुलेट गर्न प्रयोग गर्छौं। २-सेकेन्ड ढिलाइ पछि, हामी केहि नमूना डेटा सिर्जना गर्छौं र यसलाई callback त्रुटिको साथ प्रकार्यमा पास गर्छौं(जुन null
यस अवस्थामा सेट गरिएको छ)।
प्रकार्य बाहिर fetchData
, हामी यसलाई कल गर्छौं र एक callback प्रकार्य प्रदान गर्दछौं। मा callback, हामी कुनै पनि सम्भावित त्रुटिहरू ह्यान्डल गर्छौं र प्राप्त डाटालाई प्रशोधन गर्छौं। यदि त्यहाँ त्रुटि छ भने, हामी यसलाई कन्सोलमा लग गर्छौं। अन्यथा, हामी डाटा लग।
callback यो एसिन्क्रोनस अपरेसनहरू ह्यान्डल गर्न र डाटा उपलब्ध भएपछि प्रशोधन गरिएको सुनिश्चित गर्न Node.js मा प्रयोग गर्ने आधारभूत उदाहरण हो । वास्तविक-विश्व परिदृश्यहरूमा, callback s सामान्यतया डाटाबेस प्रश्नहरू, API अनुरोधहरू, र अन्य एसिन्क्रोनस कार्यहरू ह्यान्डल गर्न प्रयोग गरिन्छ।
s प्रयोग गर्दै Promise र एसिन्क्रोनिसिटी ह्यान्डल गर्न async/await
"एसिन्क्रोनस अपरेसनहरू प्रयोग गर्ने Promise र ह्यान्डल गर्न" Node.js मा एसिन्क्रोनस कार्यहरूलाई सजिलो र प्रभावकारी तरिकाले ह्यान्डल गर्नको लागि एक सामान्य दृष्टिकोण हो। एउटा वस्तु हो जसले हामीलाई एसिन्क्रोनस अपरेसनहरू प्रबन्ध गर्न र ह्यान्डल गर्न मद्दत गर्दछ, जबकि एक सिन्ट्याक्स हो जसले हामीलाई सिंक्रोनस कोडमा समान रूपमा एसिन्क्रोनस कोड लेख्न अनुमति दिन्छ। async/await Promise JavaScript async/await
प्रयोग गरेर Promise र, हामी एसिन्क्रोनस कोड अझ सजिलै र सहज रूपमा लेख्न सक्छौं। हामीले अब कार्यहरू प्रयोग गर्न र एसिन्क्रोनस अपरेशनहरू ह्यान्डल गर्न नरक(नेस्टेड प्रकार्यहरू) सँग सम्झौता गर्न आवश्यक छैन। यसको सट्टा, हामी a पूरा हुनको लागि पर्खन र यसको नतिजा फिर्ता गर्न प्रतीक्षा कुञ्जी शब्द प्रयोग गर्न सक्छौं। 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 प्लेटफर्ममा दक्ष, लचिलो र भरपर्दो अनुप्रयोगहरू निर्माण गर्न सक्नुहुन्छ।