2.1.8 async/await

    노드 7.6 버전부터 지원되는 기능으로, ES2017에서 추가되었습니다. 알아두면 정말 편리한 기능이며, 특히 노드처럼 비동기 위주로 프로그래밍을 해야 할 때 도움이 많이 됩니다.

    프로미스가 콜백 지옥을 해결했다지만, 여전히 코드가 장황합니다. thencatch가 계속 반복되기 때문입니다. async/await 문법은 프로미스를 사용한 코드를 한 번 더 깔끔하게 줄입니다.

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

    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);
        });
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.