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); }); }