자바스크립트 async와 await

Introduction

: 도입

웹 개발에서는 종종 비동기 작업('다른 작업으로 넘어가는 동안 기다릴 수 있는 작업')을 처리해야한다.

우리는 네트워크, 데이터베이스 또는 여러가지 유사한 작업을 요청한다.

자바스크립트는 비 블로킹이다. 코드를 기다리는 동안, 코드 실행을 중지하는 대신에, 자바스크립트는 이벤트 루프를 사용하여 이러한 비동기 작업의 완료를 기다리는 동안 다른 작업을 효율적으로 실행할 수 있다.

원래 자바스크립트는 콜백함수를 이용하여, 비동기 작업을 처리했다. 하지만, 콜백함수의 문제점은 복잡한 중첩 코드를 장려하여 읽기, 디버깅 및 확장이 어려워진다는 것이다.

ES6를 사용하면, 자바스크립트가 기본 약속을 통합하여 훨씬 더 읽기 쉬운 코드를 작성할 수 있다.

자바스크립트는 지속적으로 개선되고 있으며, ES8은 비동기 작업 async...await 를 처리하기 위한 새로운 구문을 제공한다.

async....await 를 사용하면, 기존의 동기식 명령형 프로그램과 유사한 비동기 코드를 작성할 수 있다.

async...await 구문을 설탕이다.

언어에 새로운 기능을 도입하지 않고 약속 및 생성기를 사용하기 위한 새로운 구문을 도입한다.

이 두 언어는 이미 언어에 내장되어 있다.

그럼에도 불구하고, async...await 는 코드의 가독성과 확장성을 크게 향상시킨다. 사용법을 배워보도록하자!