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

জাভাস্ক্রিপ্টে async মেথডগুলো কী কী?


Async ফাংশন

async ফাংশন ডিক্লেয়ারেশন একটি অ্যাসিঙ্ক্রোনাস ফাংশন ডিফাইন করে। এটি একটি AsyncFunction অবজেক্ট রিটার্ন করে।

সিনট্যাক্স

async function functionName([param[, param[, ... param]]]) {
    // স্টেটমেন্টস
}

উদাহরণ: ৫ সেকেন্ড পরে ফলাফল

<html>
    <body>
        <script>
            function displayFunction(num) {
                return new Promise(resolve => {
                    setTimeout(() => {
                        resolve(num);
                    }, 5000);
                });
            }
            
            async function add2(num) {
                const x = displayFunction(7);
                const y = displayFunction(5);
                return num * await x * await y;
            }
            
            add2(15).then(result => {
                document.write("Multiplication Result (after 5 seconds): " + result);
            });
        </script>
    </body>
</html>

Async/Await মূল ধারণা

কীওয়ার্ডকাজ
asyncফাংশনকে অ্যাসিঙ্ক্রোনাস বানায়, Promise রিটার্ন করে
awaitPromise রেজল্ভ হওয়া পর্যন্ত এক্সিকিউশন পজ করে
Promiseভবিষ্যতের মান রিপ্রেজেন্ট করে (pending/fulfilled/rejected)

ত্রুটি হ্যান্ডলিং

async function fetchData() {
    try {
        const response = await fetch('/api/data');
        if (!response.ok) throw new Error(`HTTP ${response.status}`);
        const data = await response.json();
        return data;
    } catch (error) {
        console.error("Fetch failed:", error);
        throw error; // Re-throw বা ডিফল্ট মান রিটার্ন
    }
}

প্যারালল এক্সিকিউশন

// সিরিয়াল (ধীর) - ৫+৫=১০ সেকেন্ড
const x = await displayFunction(7);
const y = await displayFunction(5);

// প্যারালল (দ্রুত) - ৫ সেকেন্ড
const [x, y] = await Promise.all([
    displayFunction(7),
    displayFunction(5)
]);
  1. জাভাস্ক্রিপ্টে প্রমিস (Promises) কী?

  2. জাভাস্ক্রিপ্টে ফাংশন এক্সপ্রেশন কী?

  3. জাভাস্ক্রিপ্টে পার্শিয়াল ফাংশন কী?

  4. জাভাস্ক্রিপ্টে ক্লোジャー (Closures) কী?