리그캣의 개발놀이터

노드js[Node.js] 콜백(callback) 함수 예제 본문

개발 공부/Node.js(웹)

노드js[Node.js] 콜백(callback) 함수 예제

리그캣 2018. 1. 15. 18:05


출처 -https://velopert.com/255


BlockingCode


첫번째, 예제는 Callback 함수가 사용되지 않는 , BlockingCode 예제입니다.


말 그대로 어떤 작업을 실행하고 기다리면서 코드가 막히게 됩니다.


우선, input.txt 라는 텍스트 파일을 생성해 줍니다.



다음 js 파일을 생성해서 아래와 같이 입력해 보겠습니다.



결과를 확인해 보겠습니다.


텍스트를 출력하고 나서 프로그램이 종료되었다는 문구를 출력합니다.


Non-Blocking Code


두 번째, 예제는 Callback 함수가 사용된 Non-Blocking Code 예제입니다.


위 예제와는 반대로 함수가 실행될 때, 프로그램이 함수가 끝날때 까지 기다리지 않고


바로 그 아래에 있는 코드들을 실행하게 됩니다.


그 다음에 함수에 있던 작업이 다 끝나면 콜백함수를 호출하게 됩니다.


js 파일을 다음과 같이 만들어 줍니다.



모든 노드 어플리케이션의 비동기식 함수에서는 첫 번째 매개변수로는 error를,


마지막 매개변수로는 callback 함수를 받는다고 합니다.


같은 방법으로 출력을 해보겠습니다.


뭐지... block방식과는 다르게 프로그램이 종료문이 먼저 출력이 됐어!!!!!!


readFile() 메소드가 실행 된 후, 프로그램이 메소드가 끝날때 까지 대기 하지 않고 곧바로 다음 명령어로 진행하였기 때문이라고 해요


그렇다고 프로그램이 끝나고 나서 텍스트를 출력한 것이 아니에요!!


우리는 위와같은 사실로 다음을 도출할 수 있어요 ㅎㅎ


callback 함수를 사용하면 프로그램의 흐름이 끊지 않고 더 많은 양의 요청을 빠르게 처리 할 수 있겠구나!!


출처 - https://velopert.com/255

c
r


Comments