[Node] 05. Promise 그리고 Async/Await

[Node] 05. Promise 그리고 Async/Await

본 문서는 Node.js 디자인 패턴 바이블 을 읽고 리뷰를 남기고 있습니다. 문고들은 이 책의 일부분을 인용한 것임을 밝힙니다.

Node.js 에서 콜백은 비동기 프로그래밍의 기본적인 방식이지만 개발자 친화적인 것과는 거리가 멀어 보입니다. 실제로 이전 장에서 콜백을 사용하여 다양한 제어 프름을 구현하기 위한 기술을 배웠습니다. 그리고 그것들은 우리가 해결하려는 문제에 비해서 매우 복잡하고 장황하다고 볼 수 있었습니다. 특히, 우리가 작성하는 대부분의 제어 흐름 구조는 순차적인 함수의 실행인데 이에 익숙하지 않은 개발자들에게 콜백 지옥이라는 문제를 일으키게 만듭니다. 게다가, 제대로 구현된 경우라 해도 콜백을 통한 순차적인 실행 흐름은 불필요하게 복잡하고 오류가 발생하기 쉽습니다. 또한 콜백을 사용한 오류의 관리가 얼마나 취약한 지 이미 알고 있을 것입니다. 오류를 다음 실행으로 전달하는 것을 잊으면 해당 오류에 대한 컨트롤을 잃게 되며, 동기적 코드에서 발생한 에러 코드를 탐지하지 못하면 프로그램이 망가집니다. 또한 Zalgo를 조심하지 않으면 언제나 우리를 괴롭히며 따라 다닐 것입니다.

Node.js와 JavaScript는 수 년간 일반적이고 흔히 발생하는 문제에 대한 네이티브 솔루션의 부재로 인해 지탄받아왔습니다. 운 좋게도 여러 해 동안 커뮤니티에서 그 문제에 대한 새로운 솔루션을 찾기 위해 노력해 왔습니다. 마침내 수 많은 반복과 논쟁을 거치며 몇년을 기다린 끝에 콜백 이슈에 대한 적절한 솔루션을 갖게 되었습니다.

작성중...

from http://junhokims.tistory.com/52 by ccl(A) rewrite - 2021-10-12 18:27:21