3

PHOTO EMBED

Mon Apr 07 2025 00:59:39 GMT+0000 (Coordinated Universal Time)

Saved by @sem

Higher Order Function
function greet(name) {
  return function (message) {
    console.log(`${message}, ${name}`);
  };
}

const greetRoshini = greet("Roshini");
greetRoshini("Hello");


Callback & Callback Hell Example
function step1(callback) {
  setTimeout(() => {
    console.log("Step 1 done");
    callback();
  }, 1000);
}

function step2(callback) {
  setTimeout(() => {
    console.log("Step 2 done");
    callback();
  }, 1000);
}

function step3() {
  
  
   
  console.log("Step 3 done");
}

step1(() => {
  step2(() => {
    step3();
  });
});

XHR: Response
const xhr = new XMLHttpRequest();
xhr.open("GET", "https://jsonplaceholder.typicode.com/posts/1");
xhr.onload = () => {
  const data = JSON.parse(xhr.responseText);
  console.log(data);
};
xhr.send();


Promise to Solve Callback Hell

function doStep(step) {
  return new Promise((resolve) => {
    setTimeout(() => {
      console.log(step);
      resolve();
      
      
    }, 1000);
  });
}

doStep("Step 1")
  .then(() => doStep("Step 2"))
  .then(() => doStep("Step 3"));



Promise Chaining & Async/Await

function task(msg, time) {
  return new Promise((resolve) => {
    setTimeout(() => {
      console.log(msg);
      resolve();
    }, time);
  });
}

task("Start", 500)
  .then(() => task("Middle", 1000))
  .then(() => task("End", 500));
async function run() {
  await task("Start", 500);
  await task("Middle", 1000);
  await task("End", 500);
}

run();


content_copyCOPY