: 도입
웹 개발에서는 종종 비동기 작업('다른 작업으로 넘어가는 동안 기다릴 수 있는 작업')을 처리해야한다.
우리는 네트워크, 데이터베이스 또는 여러가지 유사한 작업을 요청한다.
자바스크립트는 비 블로킹이다. 코드를 기다리는 동안, 코드 실행을 중지하는 대신에, 자바스크립트는 이벤트 루프를 사용하여 이러한 비동기 작업의 완료를 기다리는 동안 다른 작업을 효율적으로 실행할 수 있다.
원래 자바스크립트는 콜백함수를 이용하여, 비동기 작업을 처리했다. 하지만, 콜백함수의 문제점은 복잡한 중첩 코드를 장려하여 읽기, 디버깅 및 확장이 어려워진다는 것이다.
ES6를 사용하면, 자바스크립트가 기본 약속을 통합하여 훨씬 더 읽기 쉬운 코드를 작성할 수 있다.
자바스크립트는 지속적으로 개선되고 있으며, ES8은 비동기 작업 async...await
를 처리하기 위한 새로운 구문을 제공한다.
async....await
를 사용하면, 기존의 동기식 명령형 프로그램과 유사한 비동기 코드를 작성할 수 있다.
async...await
구문을 설탕이다.
언어에 새로운 기능을 도입하지 않고 약속 및 생성기를 사용하기 위한 새로운 구문을 도입한다.
이 두 언어는 이미 언어에 내장되어 있다.
그럼에도 불구하고, async...await
는 코드의 가독성과 확장성을 크게 향상시킨다. 사용법을 배워보도록하자!