CoffeeScript এ Callback ব্যবহার

Asynchronous Programming এবং Promises - কফিস্ক্রিপ্ট (CoffeeScript) - Web Development

324

Callback হলো একটি ফাংশন যা অন্য একটি ফাংশন সম্পন্ন হওয়ার পরে চালিত হয়। CoffeeScript-এ callback ব্যবহার করা JavaScript-এর মতোই, তবে CoffeeScript-এর সংক্ষিপ্ত সিনট্যাক্স কোডটিকে আরও পরিষ্কার এবং সহজ করে তোলে। CoffeeScript-এ callback ফাংশন প্রাথমিকভাবে অ্যাসিঙ্ক্রোনাস কার্যকলাপের জন্য ব্যবহৃত হয়, যেমন ইভেন্ট হ্যান্ডলিং বা HTTP রিকোয়েস্ট।


CoffeeScript-এ Callback এর সাধারণ ব্যবহার

CoffeeScript-এ একটি ফাংশনকে অন্য একটি ফাংশনের আর্গুমেন্ট হিসেবে পাঠানোর মাধ্যমে callback ব্যবহার করা হয়।

উদাহরণ: একটি Callback ফাংশন ব্যবহার

greet = (name, callback) ->
  console.log "Hello, #{name}!"
  callback()  # কলব্যাক ফাংশনটি কল করা হচ্ছে

goodbye = ->
  console.log "Goodbye!"

greet "Alice", goodbye

এখানে:

  • greet একটি ফাংশন যা দুটি আর্গুমেন্ট নেয়: name এবং callback
  • goodbye একটি ফাংশন যা কলব্যাক হিসেবে greet ফাংশনে পাঠানো হয়েছে।
  • যখন greet ফাংশনটি callback() কল করে, এটি goodbye ফাংশনটি কল করবে, যা "Goodbye!" প্রিন্ট করবে।

JavaScript-এ কম্পাইল হওয়া কোড:

var greet, goodbye;

greet = function(name, callback) {
  console.log("Hello, " + name + "!");
  return callback();
};

goodbye = function() {
  return console.log("Goodbye!");
};

greet("Alice", goodbye);

CoffeeScript-এ অ্যাসিঙ্ক্রোনাস Callback ব্যবহার

একটি সাধারণ অ্যাসিঙ্ক্রোনাস callback ব্যবহারের উদাহরণ, যেমন সেটTimeout ব্যবহার করা:

উদাহরণ: অ্যাসিঙ্ক্রোনাস Callback

fetchData = (callback) ->
  console.log "Fetching data..."
  setTimeout ->
    data = "Data received"
    callback(data)
  , 2000  # 2 সেকেন্ড পর কলব্যাক ফাংশন কল হবে

processData = (data) ->
  console.log "Processing: #{data}"

fetchData processData

এখানে:

  • fetchData একটি অ্যাসিঙ্ক্রোনাস ফাংশন যা ২ সেকেন্ড পর processData ফাংশনকে কল করে।
  • setTimeout ব্যবহার করা হয়েছে একটি দেরী ফাংশন কল করার জন্য।
  • ২ সেকেন্ড পর processData ফাংশনটি fetchData এর কলব্যাক হিসেবে চালু হবে এবং "Processing: Data received" প্রিন্ট করবে।

JavaScript-এ কম্পাইল হওয়া কোড:

var fetchData, processData;

fetchData = function(callback) {
  console.log("Fetching data...");
  return setTimeout(function() {
    var data;
    data = "Data received";
    return callback(data);
  }, 2000);
};

processData = function(data) {
  return console.log("Processing: " + data);
};

fetchData(processData);

CoffeeScript-এ Callback ফাংশনের অ্যারো সিনট্যাক্স ব্যবহার

CoffeeScript-এ => (অ্যারো ফাংশন) ব্যবহার করে callback ফাংশন আরও সহজভাবে ডিফাইন করা যায়। এটি this প্রসঙ্গ সঠিকভাবে পরিচালনা করতে সাহায্য করে।

উদাহরণ: অ্যারো ফাংশন সহ Callback

fetchData = (callback) ->
  console.log "Fetching data..."
  setTimeout =>
    data = "Data received"
    callback(data)
  , 2000

processData = (data) ->
  console.log "Processing: #{data}"

fetchData processData

এখানে:

  • setTimeout এর মধ্যে => ব্যবহার করা হয়েছে যাতে this প্রসঙ্গ সঠিকভাবে কাজ করে এবং callback ফাংশনটি সঠিকভাবে চালু হয়।

JavaScript-এ কম্পাইল হওয়া কোড:

var fetchData, processData;

fetchData = function(callback) {
  console.log("Fetching data...");
  return setTimeout(function() {
    var data;
    data = "Data received";
    return callback(data);
  }, 2000);
};

processData = function(data) {
  return console.log("Processing: " + data);
};

fetchData(processData);

Callback Error Handling (অ্যারোর হ্যান্ডলিং)

অ্যাসিঙ্ক্রোনাস ফাংশনগুলোর মধ্যে error handling এর জন্য callback ব্যবহার করা যেতে পারে। সাধারণত, অ্যাসিঙ্ক্রোনাস ফাংশনে একটি প্রথম প্যারামিটার হিসেবে error পাঠানো হয়, যাতে error হলে তা হ্যান্ডল করা যায়।

উদাহরণ: Error Handling সহ Callback

fetchData = (callback) ->
  console.log "Fetching data..."
  setTimeout ->
    error = false
    if error
      callback("Error occurred", null)
    else
      data = "Data received"
      callback(null, data)
  , 2000

processData = (error, data) ->
  if error
    console.log "Error: #{error}"
  else
    console.log "Processing: #{data}"

fetchData processData

এখানে:

  • fetchData একটি error এবং ডেটা উভয়ই কলব্যাক আর্গুমেন্ট হিসেবে পাঠায়। যদি কোনো error ঘটে, তাহলে প্রথম প্যারামিটার error হবে।
  • processData ফাংশনটি error বা ডেটা অনুযায়ী সংশ্লিষ্ট কাজ করবে।

JavaScript-এ কম্পাইল হওয়া কোড:

var fetchData, processData;

fetchData = function(callback) {
  console.log("Fetching data...");
  return setTimeout(function() {
    var error, data;
    error = false;
    if (error) {
      return callback("Error occurred", null);
    } else {
      data = "Data received";
      return callback(null, data);
    }
  }, 2000);
};

processData = function(error, data) {
  if (error) {
    return console.log("Error: " + error);
  } else {
    return console.log("Processing: " + data);
  }
};

fetchData(processData);

সারাংশ

  • Callback CoffeeScript-এ একটি ফাংশন যা অন্য একটি ফাংশনের আর্গুমেন্ট হিসেবে পাস করা হয় এবং সেই ফাংশনটি নির্দিষ্ট সময়ে চালিত হয়।
  • CoffeeScript-এ asynchronous callback ব্যবহার করে আপনি অ্যাসিঙ্ক্রোনাস কার্যকলাপ যেমন setTimeout, fs.readFile, বা API কলগুলি পরিচালনা করতে পারেন।
  • Error handling সহ callback ব্যবহারের মাধ্যমে অ্যাসিঙ্ক্রোনাস কার্যকলাপে ত্রুটি পরিচালনা করা যায়।
  • CoffeeScript এর arrow functions (=>) কলব্যাক ফাংশনগুলোকে আরও পরিষ্কার ও কার্যকরী করে, বিশেষ করে this প্রসঙ্গের সাথে কাজ করার সময়।

CoffeeScript-এ callback ব্যবহার করা JavaScript এর মতোই, তবে CoffeeScript এর সহজ সিনট্যাক্স কোড লেখাকে আরও দ্রুত এবং পরিষ্কার করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...