Node.js (2) 썸네일형 리스트형 Node.js의 동작 원리 with 비동기 Node.js는 다음과 같은 요소들로 구성되어 있다. : 콜 스택, webAPI, 콜백 큐(테스크 큐: 비동기 작업 완료 후에 실행 될 함수/순차 작업(=콜백 함수). 즉, 콜백 함수들이 비동기 작업 후에 실 행되기 위해 대기하는 큐), 이벤트 큐 1st. 일반 함수가 호출되면 콜 스택에 쌓인다. 2nd. 그 함수 내에 비동기 작업이 있다면 webAPI에게 비동기 작업을 위임한다. 3rd. webAPI는 해당 비동기 작업을 수행하고, 콜백 함수를 이벤트 루프를 통해 콜백 큐(테스크 큐)에 넘겨준다. 4th. 콜 스택에 쌓여있는 함수가 없다면(=비동기 작업이 아닌 작업/함수 실행이 다 수행됐다면), 이벤트 큐가 콜백 큐(테스크 큐)에서 대기 중이던 콜백 함수를 콜 스택으로 가져온다. 5th. 그렇게 콜 스.. 콜백 함수 / Promise / async-await 정의: 함수에 파라미터로 들어가는 함수. 용도: 순차적으로 무언가를 실행하고 싶을 때 사용한다. 특징: 1) 콜백 함수를 넣으라고 정의된 함수에만 넣을 수 있다. 2) 다른 곳에서 정의한 함수가 있다면, 그 함수명을 파라미터로 넣어줌으로써 사용할 수 있다. 3) 익명 함수를 사용할 수도 있다. 콜백 함수와 비동기 처리의 관계? 순차적인 실행을 하기 위해 반드시 콜백 함수를 사용해야 하는 것은 아니다. 순차적으로 실행해야 하는 동작을 말 그대로, 아래와 같이 순차적으로 적으면 되기 때문이다. first() second() 하지만 콜백 함수를 쓴다면 보다 '확실하고 안정적으로' 순차적인 실행을 할 수가 있다. 하지만 아래와 같은 상황에서의 문제는? 가독성이 너무 떨어진다. 콜백 함수 안에 콜백 함수가 있는 .. 이전 1 다음