ЁЯПа Asynchronous Programming

Jethalal-Babita рдХреЗ through рд╕рдордЭреЗрдВ!

ЁЯСитАНЁЯТ╝

Jethalal (Async Function)

  • API calls рднреЗрдЬрддрд╛ рд╣реИ
  • Non-blocking operation
  • Background рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
  • Result ready рд╣реЛрдиреЗ рдкрд░ notify рдХрд░рддрд╛ рд╣реИ
ЁЯСйтАНЁЯТ╝

Babita (Main Thread)

  • Request рдХрд░рддреА рд╣реИ
  • Wait рдХрд░рддреА рд╣реИ рдкрд░ рд░реБрдХрддреА рдирд╣реАрдВ
  • рджреВрд╕рд░реЗ рдХрд╛рдо рдХрд░рддреА рд░рд╣рддреА рд╣реИ
  • Response рдорд┐рд▓рдиреЗ рдкрд░ action рд▓реЗрддреА рд╣реИ

1. Request

Babita: "Jetha ji, website рдХрд╛ data рдордВрдЧрд╡рд╛ рджреАрдЬрд┐рдП!"

2. API Call

Jethalal рддреБрд░рдВрдд API call рднреЗрдЬ рджреЗрддрд╛ рд╣реИ server рдХреЛ

3. Parallel Work

Babita рджреВрд╕рд░реЗ рдХрд╛рдо рдХрд░рддреА рд░рд╣рддреА рд╣реИ (UI update, etc.)

4. Response

Jethalal: "Babita ji! Data рдЖ рдЧрдпрд╛!"

Demo рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП button рдкрд░ click рдХрд░реЗрдВ!

тЭМ Synchronous (Blocking)

тАв Babita рдХреЛ wait рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ

тАв рджреВрд╕рд░реЗ рдХрд╛рдо рд░реБрдХ рдЬрд╛рддреЗ рд╣реИрдВ

тАв UI freeze рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

тАв Poor user experience

тЬЕ Asynchronous (Non-blocking)

тАв Babita рджреВрд╕рд░реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИ

тАв Multiple tasks parallel рдореЗрдВ

тАв UI responsive рд░рд╣рддрд╛ рд╣реИ

тАв Better performance

ЁЯФе Code Example:

// Babita рдХрд╛ request
console.log("Jetha ji, data рдордВрдЧрд╡рд╛ рджреАрдЬрд┐рдП!");

// Jethalal рдХрд╛ async function
async function fetchData() {
    try {
        const response = await fetch('https://api.example.com/data');
        const data = await response.json();
        console.log("Babita ji! Data рдЖ рдЧрдпрд╛:", data);
        return data;
    } catch (error) {
        console.log("Sorry Babita ji, рдХреБрдЫ problem рд╣реИ!");
    }
}

// Non-blocking call
fetchData();

// Babita рджреВрд╕рд░реЗ рдХрд╛рдо рдХрд░рддреА рд░рд╣рддреА рд╣реИ
console.log("UI update рдХрд░ рд░рд╣реА рд╣реВрдБ...");
console.log("Images load рдХрд░ рд░рд╣реА рд╣реВрдБ...");
console.log("Animations рдЪрд▓рд╛ рд░рд╣реА рд╣реВрдБ...");