Node.js मध्ये इव्हेंट्स आणि असिंक्रोनिसिटी हाताळणे

Node.js ऍप्लिकेशन्स विकसित करण्याच्या प्रक्रियेत, इव्हेंट हाताळणी आणि असिंक्रोनस प्रक्रिया समजून घेणे आणि त्यासह कार्य करणे महत्वाचे आहे. Node.js हे इव्हेंट-चालित आणि असिंक्रोनस मॉडेलवर तयार केले आहे, ज्यामुळे कार्य पूर्ण होण्याची प्रतीक्षा न करता कार्यान्वित केले जाऊ शकते. खरं तर, इव्हेंट हाताळणी आणि असिंक्रोनस प्रक्रिया समजून घेणे आणि योग्यरित्या लागू करणे हे अनुप्रयोग कार्यप्रदर्शन ऑप्टिमाइझ करण्याचा एक आवश्यक भाग आहे.

 

callback Node.js मधील इव्हेंट आणि एस

Node.js मध्ये, घटना आणि callback s अतुल्यकालिक ऑपरेशन्स हाताळण्यात महत्त्वपूर्ण भूमिका बजावतात. इव्हेंट्स हा अनुप्रयोगात घडणाऱ्या काही क्रिया किंवा घटनांना हाताळण्याचा आणि प्रतिसाद देण्याचा एक मार्ग आहे. Callback s, दुसरीकडे, अशी फंक्शन्स आहेत जी विशिष्ट इव्हेंट किंवा ऑपरेशन पूर्ण झाल्यावर अंमलात आणली जातात.

Node.js एक इव्हेंट-चालित आर्किटेक्चर प्रदान करते जेथे ऍप्लिकेशनचे विविध भाग इव्हेंट सोडू शकतात आणि त्यांचे ऐकू शकतात. हे एकाच वेळी अनेक ऑपरेशन्सच्या कार्यक्षम आणि नॉन-ब्लॉकिंग प्रक्रियेस अनुमती देते.

Callback एसिंक्रोनस ऑपरेशन्स हाताळण्यासाठी Node.js मध्ये सामान्यतः s वापरले जातात. ते फंक्शन्ससाठी वितर्क म्हणून पास केले जातात आणि ऑपरेशन पूर्ण झाल्यावर ते कार्यान्वित केले जातात. 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 ज्याचे नाव असिंक्रोनस ऑपरेशनमधून डेटा आणण्याचे अनुकरण करते(उदा. API कॉल करणे किंवा डेटाबेस क्वेरी करणे). callback हे वितर्क म्हणून फंक्शन घेते .

फंक्शनच्या आत fetchData, आम्ही setTimeout असिंक्रोनस ऑपरेशनचे अनुकरण करण्यासाठी वापरतो. callback 2-सेकंद विलंबानंतर, आम्ही काही नमुना डेटा तयार करतो आणि त्रुटीसह फंक्शनमध्ये पास करतो(जे null या प्रकरणात सेट केले आहे).

फंक्शनच्या बाहेर fetchData, आम्ही त्याला कॉल करतो आणि callback फंक्शन देतो. मध्ये callback, आम्ही कोणत्याही संभाव्य त्रुटी हाताळतो आणि प्राप्त डेटावर प्रक्रिया करतो. एखादी त्रुटी असल्यास, आम्ही ती कन्सोलवर लॉग इन करतो. अन्यथा, आम्ही डेटा लॉग करतो.

callback एसिंक्रोनस ऑपरेशन्स हाताळण्यासाठी आणि डेटा उपलब्ध झाल्यावर त्यावर प्रक्रिया केली जाईल याची खात्री करण्यासाठी Node.js मध्ये वापरण्याचे हे एक मूलभूत उदाहरण आहे. वास्तविक-जगातील परिस्थितींमध्ये, callback डेटाबेस क्वेरी, API विनंत्या आणि इतर असिंक्रोनस कार्ये हाताळण्यासाठी s चा वापर केला जातो.

 

s वापरणे Promise आणि असिंक्रोनिसिटी हाताळण्यासाठी async/await

"असिंक्रोनस ऑपरेशन्स वापरणे Promise आणि हाताळणे" हा Node.js मधील असिंक्रोनस कार्ये सुलभ आणि कार्यक्षम पद्धतीने हाताळण्यासाठी एक सामान्य दृष्टीकोन आहे. एक ऑब्जेक्ट आहे जो आम्हाला असिंक्रोनस ऑपरेशन्स व्यवस्थापित करण्यात आणि हाताळण्यास मदत करतो, तर एक सिंटॅक्स आहे जो आम्हाला सिंक्रोनस कोड प्रमाणेच असिंक्रोनस कोड लिहू देतो. async/await Promise JavaScript async/await

वापरून Promise आणि, आम्ही अतुल्यकालिक कोड अधिक सहज आणि अंतर्ज्ञानाने लिहू शकतो. असिंक्रोनस ऑपरेशन्स हाताळण्यासाठी आम्हाला यापुढे फंक्शन्स वापरण्याची आणि नरक(नेस्टेड फंक्शन्स) हाताळण्याची आवश्यकता नाही. त्याऐवजी, आम्ही a पूर्ण होण्याची प्रतीक्षा करण्यासाठी आणि त्याचा परिणाम परत करण्यासाठी प्रतीक्षा कीवर्ड वापरू शकतो. async/await callback callback callback Promise

एसिंक्रोनस ऑपरेशन्स हाताळण्यासाठी Promise आणि Node.js मध्ये वापरण्याचे येथे एक उदाहरण आहे: 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 API(किंवा कोणत्याही असिंक्रोनस ऑपरेशन) वरून डेटा आणण्याचे अनुकरण करण्यासाठी फंक्शन वापरतो. हे फंक्शन a मिळवते Promise, जिथे आपण resolve डेटा रिटर्न करण्यासाठी फंक्शनला कॉल करतो.

फंक्शनच्या बाहेर fetchData, आम्ही try/catch त्रुटी हाताळण्यासाठी ब्लॉक वापरतो. फंक्शनमध्ये getData, आम्ही पूर्ण await होण्याची प्रतीक्षा करण्यासाठी Promise आणि डेटा परत करण्यासाठी कीवर्ड वापरतो. मध्ये त्रुटी असल्यास Promise, तो अपवाद करेल आणि आम्ही ते ब्लॉकमध्ये हाताळू catch.

शेवटी, आम्ही getData असिंक्रोनस प्रक्रिया सुरू करण्यासाठी फंक्शनला कॉल करतो. Promise निकाल पूर्ण झाल्यानंतर आणि डेटा परत केल्यानंतर कन्सोलवर लॉग इन केले जाईल .

असिंक्रोनस ऑपरेशन्स हाताळताना आमचा कोड अधिक वाचनीय आणि समजण्यास सुलभ बनवणे Promise आणि वापरणे. हे आम्हाला नरक टाळण्यास मदत करते आणि सिंक्रोनस कोड लिहिण्यासारखेच क्रमिक पद्धतीने कोड लिहू देते. async/await callback

 

निष्कर्ष: Node.js ऍप्लिकेशन्सच्या विकासामध्ये इव्हेंट हाताळणी आणि असिंक्रोनस प्रोसेसिंग या दोन महत्त्वपूर्ण बाबी आहेत. संबंधित संकल्पना आणि साधने समजून घेऊन आणि त्यांचा योग्य वापर करून, तुम्ही Node.js प्लॅटफॉर्मवर कार्यक्षम, लवचिक आणि विश्वासार्ह अनुप्रयोग तयार करू शकता.