JavaScript async & await, Promise API

2021. 7. 6. 16:51Big Dreamer_Developer/JS

// async & await
// clear style of using promise :)

// 1. async
async function fetchUser() {
  // do network reqeust in 10 secs....
  return 'ellie';
}

const user = fetchUser();
user.then(console.log);
console.log(user);

// 2. await ✨
function delay(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

async function getApple() {
  await delay(2000);
  return '🍎';
}

async function getBanana() {
  await delay(1000);
  return '🍌';
}

async function pickFruits() {
  const applePromise = getApple();
  const bananaPromise = getBanana();
  const apple = await applePromise;
  const banana = await bananaPromise;
  return `${apple} + ${banana}`;
}

pickFruits().then(console.log);

// 3. useful APIs ✨
function pickAllFruits() {
  return Promise.all([getApple(), getBanana()]).then(fruits =>
    fruits.join(' + ')
  );
}
pickAllFruits().then(console.log);

function pickOnlyOne() {
  return Promise.race([getApple(), getBanana()]);
}

pickOnlyOne().then(console.log);

'Big Dreamer_Developer > JS' 카테고리의 다른 글

ES6, ES11 Syntax Summary  (0) 2021.07.06
JavaScript Class & Callback function  (0) 2021.07.06
JavaScript Promise  (0) 2021.07.06
Call Back Function  (0) 2021.07.06
LOGIN Part 4_Getting Username  (0) 2021.06.27