Node.js-এ ইভেন্ট এবং অ্যাসিঙ্ক্রোনিসিটি পরিচালনা করা

Node.js অ্যাপ্লিকেশন বিকাশের প্রক্রিয়ায়, ইভেন্ট হ্যান্ডলিং এবং অ্যাসিঙ্ক্রোনাস প্রক্রিয়াকরণের সাথে বোঝা এবং কাজ করা অত্যন্ত গুরুত্বপূর্ণ। Node.js একটি ইভেন্ট-চালিত এবং অ্যাসিঙ্ক্রোনাস মডেলে তৈরি করা হয়েছে, যাতে কাজগুলি সম্পূর্ণ হওয়ার অপেক্ষা না করেই কার্যকর করা যায়। প্রকৃতপক্ষে, ইভেন্ট হ্যান্ডলিং এবং অ্যাসিঙ্ক্রোনাস প্রক্রিয়াকরণ বোঝা এবং সঠিকভাবে প্রয়োগ করা অ্যাপ্লিকেশন কর্মক্ষমতা অপ্টিমাইজ করার একটি অপরিহার্য অংশ।

 

callback Node.js-এ ইভেন্ট এবং এস

Node.js-এ, ইভেন্ট এবং callback s অ্যাসিঙ্ক্রোনাস অপারেশন পরিচালনায় গুরুত্বপূর্ণ ভূমিকা পালন করে। ইভেন্ট হ'ল একটি অ্যাপ্লিকেশনের মধ্যে ঘটে যাওয়া নির্দিষ্ট ক্রিয়া বা ঘটনাগুলি পরিচালনা এবং প্রতিক্রিয়া জানানোর একটি উপায়৷ Callback অন্যদিকে, s হল এমন ফাংশন যা একটি নির্দিষ্ট ইভেন্ট বা অপারেশন সম্পূর্ণ হওয়ার পরে সম্পাদিত হয়।

Node.js একটি ইভেন্ট-চালিত আর্কিটেকচার প্রদান করে যেখানে অ্যাপ্লিকেশনের বিভিন্ন অংশ ইভেন্ট নির্গত করতে পারে এবং তাদের জন্য শুনতে পারে। এটি একই সাথে একাধিক ক্রিয়াকলাপের দক্ষ এবং অ-ব্লকিং প্রক্রিয়াকরণের অনুমতি দেয়।

Callback s সাধারণত অসিঙ্ক্রোনাস অপারেশন পরিচালনা করতে Node.js-এ ব্যবহৃত হয়। তারা ফাংশন আর্গুমেন্ট হিসাবে পাস করা হয় এবং অপারেশন সম্পূর্ণ হলে মৃত্যুদন্ড কার্যকর করা হয়. Callback s অ্যাসিঙ্ক্রোনাস কাজের সময় ঘটে যাওয়া ফলাফল বা ত্রুটিগুলি পরিচালনা করার একটি উপায় প্রদান করে।

callback এখানে Node.js-এ একটি ব্যবহার করার একটি উদাহরণ রয়েছে:

// 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 s সাধারণত ডাটাবেস প্রশ্ন, API অনুরোধ এবং অন্যান্য অ্যাসিঙ্ক্রোনাস কাজগুলি পরিচালনা করার জন্য ব্যবহৃত হয়।

 

s ব্যবহার করে Promise এবং অ্যাসিঙ্ক্রোনিসিটি পরিচালনা করতে async/await

"অসিঙ্ক্রোনাস অপারেশনগুলি ব্যবহার করা Promise এবং পরিচালনা করা" Node.js-এ একটি সহজ এবং দক্ষ উপায়ে অ্যাসিঙ্ক্রোনাস কাজগুলি পরিচালনা করার জন্য একটি সাধারণ পদ্ধতি। একটি বস্তু যা আমাদেরকে অ্যাসিঙ্ক্রোনাস ক্রিয়াকলাপ পরিচালনা এবং পরিচালনা করতে সহায়তা করে, যখন একটি সিনট্যাক্স যা আমাদেরকে সিঙ্ক্রোনাস কোডের অনুরূপভাবে অ্যাসিঙ্ক্রোনাস কোড লিখতে দেয়। async/await Promise JavaScript async/await

ব্যবহার করে Promise এবং, আমরা আরো সহজে এবং স্বজ্ঞাতভাবে অ্যাসিঙ্ক্রোনাস কোড লিখতে পারি। অ্যাসিঙ্ক্রোনাস ক্রিয়াকলাপগুলি পরিচালনা করার জন্য আমাদের আর ফাংশন ব্যবহার করতে এবং হেল(নেস্টেড ফাংশন) মোকাবেলা করতে হবে না। পরিবর্তে, আমরা একটি সম্পূর্ণ হওয়ার জন্য অপেক্ষা করতে এবং এর ফলাফল ফেরত দেওয়ার জন্য await কীওয়ার্ডটি ব্যবহার করতে পারি । 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 একটি API(বা কোনো অ্যাসিঙ্ক্রোনাস অপারেশন) থেকে ডেটা আনার অনুকরণ করতে ফাংশন ব্যবহার করি। এই ফাংশনটি একটি প্রদান করে Promise, যেখানে আমরা resolve ডেটা ফেরত দেওয়ার জন্য ফাংশনটিকে কল করি।

ফাংশনের বাইরে fetchData, আমরা try/catch ত্রুটিগুলি পরিচালনা করতে একটি ব্লক ব্যবহার করি। ফাংশনে getData, আমরা await কীওয়ার্ডটি ব্যবহার করি সম্পূর্ণ হওয়ার জন্য অপেক্ষা করতে Promise এবং ডেটা ফেরত দেওয়ার জন্য। যদি কোন ত্রুটি থাকে তবে Promise এটি একটি ব্যতিক্রম ছুড়ে দেবে এবং আমরা ব্লকে এটি পরিচালনা করি catch

অবশেষে, আমরা getData অ্যাসিঙ্ক্রোনাস প্রক্রিয়াকরণ শুরু করার জন্য ফাংশনটিকে কল করি। Promise ফলাফল সম্পূর্ণ হওয়ার পরে এবং ডেটা ফেরত দেওয়ার পরে কনসোলে লগ ইন করা হবে ।

অ্যাসিঙ্ক্রোনাস ক্রিয়াকলাপগুলির সাথে কাজ করার সময় আমাদের কোডটি ব্যবহার করা Promise এবং আরও পাঠযোগ্য এবং বোঝা সহজ করে তোলে। এটি আমাদের জাহান্নাম এড়াতে সাহায্য করে এবং আমাদেরকে সিঙ্ক্রোনাস কোড লেখার অনুরূপ ক্রমিক পদ্ধতিতে কোড লিখতে দেয়। async/await callback

 

উপসংহার: ইভেন্ট হ্যান্ডলিং এবং অ্যাসিঙ্ক্রোনাস প্রক্রিয়াকরণ Node.js অ্যাপ্লিকেশনগুলির বিকাশের দুটি গুরুত্বপূর্ণ দিক। সম্পর্কিত ধারণা এবং সরঞ্জামগুলি বুঝতে এবং সঠিকভাবে ব্যবহার করে, আপনি Node.js প্ল্যাটফর্মে দক্ষ, নমনীয় এবং নির্ভরযোগ্য অ্যাপ্লিকেশন তৈরি করতে পারেন।