Editors Choice

3/recent/post-list

Promise - Chaining


// Functions returning Promises
function register() {
  return new Promise((resolve) => {
    setTimeout(() => {
      console.log("Register");
      resolve();
    }, 2500);
  });
}

function sendWelcomeMessage() {
  return new Promise((resolve) => {
    setTimeout(() => {
      console.log("Welcome");
      resolve();
    }, 2500);
  });
}

function login() {
  return new Promise((resolve) => {
    setTimeout(() => {
      console.log("Login");
      resolve();
    }, 2500);
  });
}

function fetchProfile() {
  return new Promise((resolve) => {
    setTimeout(() => {
      console.log("Fetch Profile");
      resolve();
    }, 2500);
  });
}

function updateStatus() {
  return new Promise((resolve) => {
    setTimeout(() => {
      console.log("Updated Status");
      resolve();
    }, 2500);
  });
}

function logout() {
  return new Promise((resolve) => {
    setTimeout(() => {
      console.log("Logout");
      resolve();
    }, 2500);
  });
}

// Promise Chaining
register()
  .then(() => sendWelcomeMessage())
  .then(() => login())
  .then(() => fetchProfile())
  .then(() => updateStatus())
  .then(() => logout())
  .then(() => console.log("All operations completed!"));

Post a Comment

0 Comments