더북(TheBook)

2.1.7 async/await

 

노드 7.6 버전부터 지원되는 기능입니다. 자바스크립트 스펙은 ES2017입니다. 최신 기능이면서 정말 혁신적인 기능입니다. 특히 노드처럼 비동기 프로그래밍을 해야 할 때 도움이 많이 됩니다. 프로미스가 콜백 지옥을 해결했다지만, 여전히 코드가 장황합니다. async/await 문법은 프로미스를 사용한 코드를 한 번 더 깔끔하게 줄여줍니다.

2.1.6절의 프로미스 코드를 다시 한 번 보겠습니다.

function findAndSaveUser(Users) {
  Users.findOne({})
    .then((user) => {
      user.name ='zero';
      return user.save();
    })
    .then((user) => {
      return Users.findOne({ gender:'m' });
    })
    .then((user) => {
      // 생략
    })
    .catch(err => {
      console.error(err);
    });
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.