2025 লেখক: Lynn Donovan | [email protected]. সর্বশেষ পরিবর্তিত: 2025-01-22 17:19
অ্যাসিঙ্ক ফাংশন ব্যবহার তার ফলাফল ফেরত দেওয়ার একটি অন্তর্নিহিত প্রতিশ্রুতি। এমনকি যদি আপনি স্পষ্টভাবে একটি প্রতিশ্রুতি ফেরত না অ্যাসিঙ্ক ফাংশন নিশ্চিত করে যে আপনার কোড একটি প্রতিশ্রুতির মাধ্যমে পাস করা হয়েছে। অপেক্ষা করা এর মধ্যে কোড এক্সিকিউশন ব্লক করে অ্যাসিঙ্ক ফাংশন, যার মধ্যে এটি( অপেক্ষা করা বিবৃতি) একটি অংশ। অপেক্ষা করা সবসময় একটি একক প্রতিশ্রুতি জন্য.
এর, কেন আমরা অ্যাসিঙ্ক ব্যবহার করি এবং জাভাস্ক্রিপ্টে অপেক্ষা করি?
অ্যাসিঙ্ক / অপেক্ষা করুন শৃঙ্খলিত প্রতিশ্রুতিগুলির সাথে কাজ করার এবং লেখার প্রক্রিয়াটিকে সহজ করার জন্য তৈরি করা হয়েছিল। অ্যাসিঙ্ক ফাংশন একটি প্রতিশ্রুতি প্রদান করে। যদি ফাংশন একটি ত্রুটি নিক্ষেপ করে, প্রতিশ্রুতি প্রত্যাখ্যান করা হবে। যদি ফাংশন একটি মান প্রদান করে, প্রতিশ্রুতি সমাধান করা হবে।
একইভাবে, জাভাস্ক্রিপ্টে অ্যাসিঙ্ক কি করে? দ্য অ্যাসিঙ্ক ফাংশন ঘোষণা একটি সংজ্ঞায়িত করে অ্যাসিঙ্ক্রোনাস ফাংশন - একটি ফাংশন যা একটি AsyncFunction অবজেক্ট প্রদান করে। অসিঙ্ক্রোনাস ফাংশনগুলি ইভেন্ট লুপের মাধ্যমে বাকি কোডের চেয়ে আলাদা ক্রমে কাজ করে, ফলাফল হিসাবে একটি অন্তর্নিহিত প্রতিশ্রুতি প্রদান করে।
এখানে, কেন আমরা async await ব্যবহার করব?
অপেক্ষা করা হয় ব্যবহৃত একটি কল করার জন্য অ্যাসিঙ্ক ফাংশন এবং এটি সমাধান বা প্রত্যাখ্যান করার জন্য অপেক্ষা করুন। এর আরেকটি সুবিধা ব্যবহার ছোট অ্যাসিঙ্ক ফাংশন হল যে আপনি নিজেকে কি ভাবতে বাধ্য করেন অ্যাসিঙ্ক সমান্তরালভাবে চালানো যেতে পারে যে ফাংশন. যদি আপনার কোডে ব্লকিং কোড থাকে তবে এটি একটি করা ভাল অ্যাসিঙ্ক ফাংশন
কিভাবে async ওয়েট জেএস ব্যবহার করবেন?
দ্য অপেক্ষা করা অপারেটর একটি প্রতিশ্রুতির জন্য অপেক্ষা করতে ব্যবহৃত হয়। এটি একটি ভিতরে ব্যবহার করা যেতে পারে অ্যাসিঙ্ক শুধুমাত্র ব্লক। মূলশব্দ অপেক্ষা করুন তোলে জাভাস্ক্রিপ্ট প্রতিশ্রুতির ফলাফল না আসা পর্যন্ত অপেক্ষা করুন। এটা শুধুমাত্র এটা তোলে লক্ষনীয় আছে অ্যাসিঙ্ক ফাংশন ব্লক অপেক্ষা এবং পুরো প্রোগ্রাম এক্সিকিউশন নয়।
প্রস্তাবিত:
নোডে অপেক্ষা কি?
Node v8 এর সাথে, async/await বৈশিষ্ট্যটি আনুষ্ঠানিকভাবে প্রতিশ্রুতি এবং ফাংশন চেইনিংয়ের সাথে মোকাবিলা করার জন্য নোড দ্বারা চালু করা হয়েছিল। ফাংশনগুলিকে একের পর এক শৃঙ্খলিত করার দরকার নেই, কেবল সেই ফাংশনের জন্য অপেক্ষা করুন যা প্রতিশ্রুতি প্রদান করে। কিন্তু একটি প্রতিশ্রুতি ফেরত একটি ফাংশন অপেক্ষা করার আগে ফাংশন async ঘোষণা করা প্রয়োজন
আমি কি অ্যাসিঙ্ক ছাড়া ওয়েট ব্যবহার করতে পারি?
না। অপেক্ষমান অপারেটর শুধুমাত্র একটি অ্যাসিঙ্ক ফাংশনেই বোঝা যায়
সমান্তরাল ForEach অ্যাসিঙ্ক?
প্যারালালের পিছনে পুরো ধারণা। ForEach() হল আপনার থ্রেডের একটি সেট এবং প্রতিটি থ্রেড সংগ্রহের অংশ প্রক্রিয়া করে। আপনি যেমন লক্ষ্য করেছেন, এটি async-এর সাথে কাজ করে না - অপেক্ষা করুন, যেখানে আপনি async কলের সময়কালের জন্য থ্রেডটি প্রকাশ করতে চান৷ ForEach(), যা অ্যাসিঙ্ক্রোনাস টাস্ককে ভালোভাবে সমর্থন করে
স্ক্রিপ্ট অ্যাসিঙ্ক ডিফার কি?
যখন স্ক্রিপ্টটি কার্যকর করা হয় তখন চারপাশে async এবং defer কেন্দ্রগুলির মধ্যে পার্থক্য। প্রতিটি async স্ক্রিপ্ট ডাউনলোড শেষ হওয়ার পরে এবং উইন্ডোর লোড ইভেন্টের আগে প্রথম সুযোগে কার্যকর করে। অন্যদিকে স্থগিত স্ক্রিপ্টগুলি পৃষ্ঠায় যে ক্রমানুসারে ঘটবে সেভাবেই কার্যকর করার নিশ্চয়তা রয়েছে
একটি প্রতিশ্রুতি অ্যাসিঙ্ক?
Async ফাংশন তার ফলাফল ফেরত দিতে একটি অন্তর্নিহিত প্রতিশ্রুতি ব্যবহার করে। এমনকি আপনি একটি প্রতিশ্রুতি ফেরত না দিলেও স্পষ্টভাবে অ্যাসিঙ্ক ফাংশন নিশ্চিত করে যে আপনার কোডটি একটি প্রতিশ্রুতির মাধ্যমে পাস করা হয়েছে। await শুধুমাত্র async ফাংশনের মধ্যে কোড এক্সিকিউশন ব্লক করে। এটি শুধুমাত্র নিশ্চিত করে যে পরবর্তী লাইনটি কার্যকর করা হয় যখন প্রতিশ্রুতি সমাধান হয়