কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে 'for await...of' স্টেটমেন্টের গুরুত্ব


for await...of

'for await...of' স্টেটমেন্ট একটি লুপ তৈরি করে যা অ্যাসিন্ক (async) অবজেক্ট এবং সিঙ্ক (sync) অবজেক্ট (যেমন অ্যারে, অ্যারে-লাইক অবজেক্ট, ম্যাপ, সেট ইত্যাদি) এর ওপর ইটারেট করে।

সিনট্যাক্স

for await (variable of iterable) {    statement }

উদাহরণ

নিচের উদাহরণে "for await...of" স্টেটমেন্ট ব্যবহার করে একটি নরম্যাল অ্যারেতে অ্যাসিন্ক ফরম্যাটে লুপ করা হয়েছে এবং ১ থেকে ৫ পর্যন্ত INTEGER আউটপুটে দেখানো হয়েছে।

<html> <body> <script>    var txt = "";    const array = [1,2,3,4,5];    async function test() {       for await (const p of array) {          var txt = p + "<br>";          document.write(txt);       }    }    test(); </script> </body> </html>

আউটপুট

1 2 3 4 5


একটি অ্যাসিন্ক ফাংশনকে লুপে কল করতে একটি নতুন Symbol "Symbol.asyncIterator" এবং "for-await...of" কনস্ট্রাক্ট ব্যবহার করা হয়। সবচেয়ে গুরুত্বপূর্ণভাবে "for-await...of" অ্যাসিন্ক ইটারেবল অবজেক্টের ওপর লুপ করার জন্য গুরুত্বপূর্ণ ভূমিকা পালন করে।

উদাহরণ

নিচের উদাহরণে "for await...of" ব্যবহার করে, যা একটি অ্যাসিন্ক ইটারেবল-এর ওপর ইটারেট করে, ১ থেকে ৫ পর্যন্ত INTEGER দেখানো হয়েছে।

<html> <body> <script>    var txt = "";    var async = {       [Symbol.asyncIterator]() {          return {             i: 1,             next() {                if (this.i < 6) {                   return Promise.resolve({ value: this.i++, done : false});                }             }          };       }    };    async function test() {       for await (let p of async) {          txt = p + "<br>"          document.write(txt);       }    }    test(); </script> </body> </html>

আউটপুট

1 2 3 4 5
  1. জাভাস্ক্রিপ্টে '/i' ফ্ল্যাগের গুরুত্ব

  2. জাভাস্ক্রিপ্টে '/g' ফ্ল্যাগের গুরুত্ব

  3. জাভাস্ক্রিপ্টে Symbol.isConcatSpreadable এর গুরুত্ব

  4. জাভাস্ক্রিপ্ট WITH স্টেটমেন্টের ব্যবহার