자바스크립트/Vanilla Js

Vanilla JS - async/await

RightHot 2018. 12. 13. 00:40

async/await은 ES2017 부터 지원

//// Promise 사용 ////
Users.findOne('kim')
  .then((user) => {
       console.log(user);
       return Users.update('kim', 'jeong');
  })
  .then((updateUser) => {
       console.log(updateUser);
       return Users.remove('jeong');
  })
  .then((removeUser) => {
       console.log(removeUser);
  })
  .catch((err) => {
       console.error(error);
  });
console.log('종료'); // 종료가 먼저 호출되고 promise가 실행된다.


//// async/await 사용 //// (비동기지만 기다렸다가 동기식으로 처리한다)
async fnAsync() => {
   try{
       const user = await Users.findOne('kim');
       const updateUser = await Users.update('kim','jeong');
       const removeUser = await Users.remove('jeong');
       console.log('종료'); // 순서대로 호출된다.
  }catch(err){
       console.error(err);
  }
}
fnAsync();