콜백 함수와 Promise, async/await

수정 예정

비동기 처리를 수행하는 비동기 함수는 전통적으로 콜백 패턴을 사용한다. 비동기 처리를 위한 콜백 패턴은 콜백 헬을 발생시켜 가독성을 나쁘게 하고, 여러 개의 비동기 처리를 한 번에 처리하는 데에도 한계가 있다. 이런 단점을 보완하여 ES6에 프로미스가 등장했다. 그리고 프로미스를 마치 동기 처리처럼 사용하도록 하기 위해 ES8에 async/await이 등장했다.

결론

Promise는 자바스크립트의 비동기 처리를 위한 패턴입니다. 이전에 비동기 처리를 위해 쓰이던 콜백 함수의 단점들을 해결하기 위해 ES6에 도입되었습니다.

설명

Promise는 비동기 처리 상태와 처리 결과를 관리하는 객체입니다.

콜백 함수의 단점으로는

  1. 콜백 헬(처리 순서를 보장하기 위해 여러 개의 콜백 함수를 중첩해서 사용하는 것)로 인해 가독성이 저하된다.
  2. 비동기 처리 도중 발생한 에러 처리에 한계가 있다. (오류 우선 콜백 패턴으로 해결 가능하긴 하다.)

등이 있습니다.

요약

  • Promise와 콜백 함수 모두 자바스크립트의 비동기 처리에 사용된다.
  • 콜백 함수의 여러 가지 단점 때문에 Promise가 생겨났다.

Written by정선아
🌱 공부한 것을 기록하여 성장하기 위한 블로그입니다.

GitHubGmail