Node.js मा घटनाहरू र एसिन्क्रोनिसिटी ह्यान्डलिंग

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 प्लेटफर्ममा दक्ष, लचिलो र भरपर्दो अनुप्रयोगहरू निर्माण गर्न सक्नुहुन्छ।