56 বার দেখা হয়েছে
"ওয়েব ডেভেলপ" বিভাগে করেছেন

1 টি উত্তর

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

অ্যাসিঙ্ক্রোনাস প্রোগ্রামিংয়ের সুবিধা:

 * উন্নত প্রতিক্রিয়াশীলতা: অ্যাসিঙ্ক্রোনাস প্রোগ্রামিং একটি অ্যাপ্লিকেশনকে দীর্ঘ সময় ধরে চলতে থাকা অপারেশনের জন্য অপেক্ষা করার সময়ও প্রতিক্রিয়াশীল থাকতে দেয়।

 * উন্নত পারফরম্যান্স: অ্যাসিঙ্ক্রোনাস প্রোগ্রামিং একটি অ্যাপ্লিকেশনকে একই সময়ে একাধিক কাজ করে সিপিইউ এবং অন্যান্য সংস্থানগুলির আরও ভাল ব্যবহার করতে দেয়।

 * সরলীকৃত কোড: অ্যাসিঙ্ক্রোনাস প্রোগ্রামিং জটিল কোডকে সরল করতে পারে যা অন্যথায় মাল্টিথ্রেডিং বা অন্যান্য কনকারেন্সি কৌশলগুলির সাথে প্রয়োজন হবে।

জাভাস্ক্রিপ্টে অ্যাসিঙ্ক্রোনাস প্রোগ্রামিং

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

কলব্যাক

কলব্যাক হল একটি ফাংশন যা অন্য একটি ফাংশনে আর্গুমেন্ট হিসাবে পাস করা হয় এবং মূল ফাংশনটি শেষ হওয়ার পরে "কল ব্যাক" করা হয়। কলব্যাকগুলি অ্যাসিঙ্ক্রোনাস অপারেশনগুলির ফলাফলগুলি পরিচালনা করার জন্য ব্যবহার করা যেতে পারে।

প্রমিজ (Promise)

একটি প্রমিজ হল একটি অবজেক্ট যা অ্যাসিঙ্ক্রোনাস অপারেশনের চূড়ান্ত সমাপ্তি (বা ব্যর্থতা) এবং এর ফলস্বরূপ মান উপস্থাপন করে। একটি প্রমিজের তিনটি অবস্থা থাকতে পারে:

 * পেন্ডিং: অ্যাসিঙ্ক্রোনাস অপারেশন এখনও চলছে।

 * ফুলফিল্ড: অ্যাসিঙ্ক্রোনাস অপারেশন সফলভাবে সম্পন্ন হয়েছে।

 * রিজেক্টেড: অ্যাসিঙ্ক্রোনাস অপারেশন ব্যর্থ হয়েছে।

প্রমিজগুলি .then() এবং .catch() পদ্ধতি ব্যবহার করে চেইন করা যেতে পারে। .then() পদ্ধতিটি কলব্যাক ফাংশন গ্রহণ করে যা প্রমিজটি ফুলফিল হলে কল করা হবে। .catch() পদ্ধতিটি কলব্যাক ফাংশন গ্রহণ করে যা প্রমিজটি রিজেক্ট হলে কল করা হবে।

async/await

async/await হল জাভাস্ক্রিপ্টে অ্যাসিঙ্ক্রোনাস কোড লেখার একটি নতুন এবং আরও পঠনযোগ্য উপায়। async কীওয়ার্ড দিয়ে সংজ্ঞায়িত একটি ফাংশন স্বয়ংক্রিয়ভাবে একটি প্রমিজ ফেরত দেয়। await কীওয়ার্ডটি একটি প্রমিজের ফলাফলের জন্য অপেক্ষা করতে ব্যবহৃত হয়।

async/await ব্যবহার করে, আপনি সিঙ্ক্রোনাস কোডের মতো অ্যাসিঙ্ক্রোনাস কোড লিখতে পারেন। এটি কোডটিকে আরও পঠনযোগ্য এবং বোঝা সহজ করে তোলে।

উদাহরণ

// একটি প্রমিজ তৈরি করুন যা 2 সেকেন্ড পরে রিসলভ হবে

function delayedResolve(value) {

  return new Promise(resolve => {

    setTimeout(() => {

      resolve(value);

    }, 2000);

  });

}

// async/await ব্যবহার করে একটি ফাংশন লিখুন

async function myFunction() {

  console.log("Starting...");

  // delayedResolve() এর ফলাফলের জন্য অপেক্ষা করুন

  const result = await delayedResolve("Hello, world!");

  console.log(result); // "Hello, world!"

  console.log("Finished!");

}

// ফাংশনটি কল করুন

myFunction();

এই কোডটি কনসোলে নিম্নলিখিত আউটপুট প্রিন্ট করবে:

Starting...

(2 সেকেন্ড পরে)

Hello, world!

Finished!

এই উদাহরণে, myFunction() ফাংশনটি async কীওয়ার্ড দিয়ে সংজ্ঞায়িত করা হয়েছে। এর মানে হল এটি স্বয়ংক্রিয়ভাবে একটি প্রমিজ ফেরত দেবে। await কীওয়ার্ডটি delayedResolve() ফাংশনের ফলাফলের জন্য অপেক্ষা করতে ব্যবহৃত হয়। এর পরে, প্রমিজটি রিসলভ হয়ে গেলে, ফলাফলের মান কনসোলে লগ করা হয়।

এরকম আরও কিছু প্রশ্ন

1 টি উত্তর
1 টি উত্তর
0 টি উত্তর
2 টি উত্তর
4 সেপ্টেম্বর, 2020 "ওয়েব ডেভেলপ" বিভাগে প্রশ্ন করেছেন Redowan
1 টি উত্তর
7 অক্টোবর, 2023 "ওয়েব ডেভেলপ" বিভাগে প্রশ্ন করেছেন Lamim Hossain
1 টি উত্তর
28 এপ্রিল, 2021 "ওয়েব ডেভেলপ" বিভাগে প্রশ্ন করেছেন Sagor Dipto
1 টি উত্তর
9 জানুয়ারি "ওয়েব ডেভেলপ" বিভাগে প্রশ্ন করেছেন Hasan·Islam
0 টি উত্তর
9 জানুয়ারি "ওয়েব ডেভেলপ" বিভাগে প্রশ্ন করেছেন Hasan·Islam
1 টি উত্তর

36,269 টি প্রশ্ন

35,483 টি উত্তর

1,742 টি মন্তব্য

3,803 জন সদস্য

Ask Answers সাইটে আপনাকে সুস্বাগতম! এখানে আপনি প্রশ্ন করতে পারবেন এবং অন্যদের প্রশ্নে উত্তর প্রদান করতে পারবেন ৷ আর অনলাইনে বিভিন্ন সমস্যার সমাধানের জন্য উন্মুক্ত তথ্যভাণ্ডার গড়ে তোলার কাজে অবদান রাখতে পারবেন ৷
3 জন অনলাইনে আছেন
0 জন সদস্য, 3 জন অতিথি
আজকে ভিজিট : 8523
গতকাল ভিজিট : 9661
সর্বমোট ভিজিট : 53139517
এখানে প্রকাশিত সকল প্রশ্ন ও উত্তরের দায়ভার কেবল সংশ্লিষ্ট প্রশ্নকর্তা ও উত্তর দানকারীর৷ কোন প্রকার আইনি সমস্যা Ask Answers কর্তৃপক্ষ বহন করবে না৷
...