일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 정보처리기사
- 코딩
- 파이썬
- python
- 도커 mysql
- 백준
- ansible install
- nvidia docker
- C언어
- 푸시푸시
- 데이터베이스
- 도커 elk
- elk stack
- 알고리즘
- 앤서블 설치
- streamsets 강의
- c++
- docker
- 클라우드
- mysql on docker
- 도커 시작하기
- 도커
- mysql docker
- java
- 데이트
- 스트림셋이란?
- MySQL
- c
- 스트림셋
- 자바
- Today
- Total
리그캣의 개발놀이터
노드js[Node.js] 콜백(callback) 함수 예제 본문
출처 -https://velopert.com/255
BlockingCode
첫번째, 예제는 Callback 함수가 사용되지 않는 , BlockingCode 예제입니다.
말 그대로 어떤 작업을 실행하고 기다리면서 코드가 막히게 됩니다.
우선, input.txt 라는 텍스트 파일을 생성해 줍니다.
다음 js 파일을 생성해서 아래와 같이 입력해 보겠습니다.
결과를 확인해 보겠습니다.
텍스트를 출력하고 나서 프로그램이 종료되었다는 문구를 출력합니다.
Non-Blocking Code
두 번째, 예제는 Callback 함수가 사용된 Non-Blocking Code 예제입니다.
위 예제와는 반대로 함수가 실행될 때, 프로그램이 함수가 끝날때 까지 기다리지 않고
바로 그 아래에 있는 코드들을 실행하게 됩니다.
그 다음에 함수에 있던 작업이 다 끝나면 콜백함수를 호출하게 됩니다.
js 파일을 다음과 같이 만들어 줍니다.
모든 노드 어플리케이션의 비동기식 함수에서는 첫 번째 매개변수로는 error를,
마지막 매개변수로는 callback 함수를 받는다고 합니다.
같은 방법으로 출력을 해보겠습니다.
뭐지... block방식과는 다르게 프로그램이 종료문이 먼저 출력이 됐어!!!!!!
readFile() 메소드가 실행 된 후, 프로그램이 메소드가 끝날때 까지 대기 하지 않고 곧바로 다음 명령어로 진행하였기 때문이라고 해요
그렇다고 프로그램이 끝나고 나서 텍스트를 출력한 것이 아니에요!!
우리는 위와같은 사실로 다음을 도출할 수 있어요 ㅎㅎ
callback 함수를 사용하면 프로그램의 흐름이 끊지 않고 더 많은 양의 요청을 빠르게 처리 할 수 있겠구나!!
'개발 공부 > Node.js(웹)' 카테고리의 다른 글
노드js[Node.js] EventEmitter 사용하기 (이벤트) (0) | 2018.01.17 |
---|---|
노드js[Node.js] url 객체 사용하기 (2) | 2018.01.17 |
노드js[Node.js] 콜백(callback) 함수란? (0) | 2018.01.14 |
노드js[Node.js] 자바스크립트 배우기(초기화,배열,for 문, 배열 관련 함수) (0) | 2018.01.14 |
노드js[Node.js] 자바스크립트 배우기(변수, 객체, 함수) (0) | 2018.01.12 |