Async/Await এর ব্যবহার

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

380

Async/Await একটি আধুনিক JavaScript ফিচার যা অ্যাসিঙ্ক্রোনাস কোড লেখা সহজ করে। CoffeeScript-এ এই ফিচারটি ব্যবহার করার মাধ্যমে আপনি অ্যাসিঙ্ক্রোনাস কোড আরও পরিষ্কার এবং সিনক্রোনাস কোডের মতো লেখা সম্ভব হবে। CoffeeScript-এ async এবং await ব্যবহার করতে JavaScript এর মতই সিনট্যাক্স প্রয়োগ করা হয়, তবে CoffeeScript এর সিনট্যাক্স আরও সংক্ষিপ্ত এবং পরিষ্কার।


Async/Await কী?

  • async: ফাংশনকে অ্যাসিঙ্ক্রোনাস ফাংশনে রূপান্তরিত করতে ব্যবহৃত হয়। এটি নিশ্চিত করে যে ফাংশনটি একটি Promise রিটার্ন করবে।
  • await: এটি async ফাংশনের মধ্যে ব্যবহৃত হয় এবং একটি Promise এর ফলাফল পাওয়া না হওয়া পর্যন্ত বাকি কোডের কার্যকারিতা থামিয়ে দেয়।

CoffeeScript-এ Async/Await ব্যবহার

CoffeeScript-এ async এবং await ব্যবহার করার পদ্ধতি JavaScript-এর মতোই, তবে CoffeeScript-এর সিনট্যাক্সে কোড আরও সংক্ষিপ্ত হয়।

১. Async ফাংশন ঘোষণা

CoffeeScript-এ async ফাংশন ঘোষণা করার জন্য সোজা async কীওয়ার্ড ব্যবহার করা হয়।

async fetchData = ->
  console.log "Fetching data..."
  return "Data fetched"

এই ফাংশনটি একটি Promise রিটার্ন করবে।

২. Await ব্যবহার

await কে async ফাংশনের মধ্যে ব্যবহার করতে হয়, এবং এটি একটি Promise এর রেজাল্ট পাওয়ার জন্য অপেক্ষা করবে।

async getData = ->
  result = await fetchData()
  console.log result  # আউটপুট: Data fetched

এখানে, await fetchData() ফাংশনের Promise রেজাল্ট পাওয়ার জন্য অপেক্ষা করবে এবং পরে সেই রেজাল্ট result-এ স্টোর হবে।

৩. Error handling (Try/Catch)

async ফাংশনের মধ্যে try/catch ব্যবহার করে আপনি ভুল হ্যান্ডলিং করতে পারেন। যদি কোনো Promise ত্রুটি দেয়, catch ব্লক তা ধরতে সাহায্য করে।

async fetchDataWithErrorHandling = ->
  try
    result = await fetchData()
    console.log result
  catch error
    console.log "Error occurred: #{error.message}"

উদাহরণ: CoffeeScript-এ Async/Await ব্যবহার

ধরা যাক, আপনার কাছে একটি API কল রয়েছে যা কিছু ডেটা ফেচ করবে। আপনি async এবং await ব্যবহার করে সেই ডেটা ফেচ করতে পারেন।

কোড:

# ফাংশন যা API কল সিমুলেট করবে
async fetchDataFromAPI = ->
  console.log "Fetching data from API..."
  # একটি Promise রিটার্ন করা হচ্ছে
  return new Promise (resolve, reject) ->
    setTimeout ->
      resolve "Data from API fetched successfully"
    , 2000

# প্রধান ফাংশন
async main = ->
  data = await fetchDataFromAPI()
  console.log data  # আউটপুট: Data from API fetched successfully

main()

ব্যাখ্যা:

  • fetchDataFromAPI একটি async ফাংশন, যা ২ সেকেন্ড পরে ডেটা ফেচ করে একটি Promise রিটার্ন করে।
  • main ফাংশন await ব্যবহার করে fetchDataFromAPI() এর রেজাল্ট পাওয়ার জন্য অপেক্ষা করে এবং তারপর সেটি কনসোলে প্রিন্ট করে।

আউটপুট:

Fetching data from API...
Data from API fetched successfully

CoffeeScript-এ Async/Await এর সুবিধা

  1. ক্লিন কোড: async এবং await ব্যবহার করার মাধ্যমে অ্যাসিঙ্ক্রোনাস কোডকে সিনক্রোনাস কোডের মতো লেখা সম্ভব হয়, যা কোডকে আরও পরিষ্কার এবং পড়তে সহজ করে।
  2. প্রমিজ চেইনিং এড়ানো: async/await ব্যবহারের মাধ্যমে প্রমিজ চেইনিং সমস্যা দূর হয় এবং কোড আরও সোজা হয়।
  3. এরর হ্যান্ডলিং: try/catch ব্লকের মাধ্যমে অ্যাসিঙ্ক্রোনাস কোডে ত্রুটি হ্যান্ডলিং সহজ হয়।
  4. অ্যাক্টিভ কোডিং স্টাইল: অ্যাসিঙ্ক্রোনাস অপারেশনগুলোর সময়কালে কোডের কার্যকারিতা থামানো, পুনরায় কোড চালানো সহজ হয়ে যায়।

সারাংশ

CoffeeScript-এ async এবং await ব্যবহার করা অনেকটা JavaScript-এর মতোই, তবে CoffeeScript এর সংক্ষিপ্ত সিনট্যাক্স কোড লেখাকে আরও সহজ করে তোলে। আপনি async ফাংশন ব্যবহার করে অ্যাসিঙ্ক্রোনাস অপারেশনগুলোকে সিনক্রোনাস স্টাইলে লিখতে পারেন এবং await ব্যবহার করে সেই অপারেশনের ফলাফল পাওয়া না হওয়া পর্যন্ত বাকি কোডের কার্যকারিতা থামিয়ে দিতে পারেন। এই পদ্ধতি কোডকে আরও পরিষ্কার এবং কার্যকরী করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...