반응형
callback
Non-Blocking Code. 비동기.
프로그램이 함수가 끝날 때까지 기다리지 않고, 바로 그 아래에 있는 코드들을 실행한다. 그 다음에 함수에 있던 작업이 모두 끝나면 콜백함수를 호출한다.
(1) 함수
function a(){
console.log('A');
}
a{}; //A
(2) 익명함수 (anaymnous function)
예제
//익명함수 (함수가 값임)
var a = function (){
console.log('A');
}
a(); //A
익명함수 + callback함수 -1-
var a = function (){
console.log('A');
});
}
function slowfunc(callback){ //엄청 느리게 동작하는 함수
console.log('1');
callback(); //console.log('A')가 실행됨
console.log('2')
}
slowfunc(a);
1
A
2
익명함수 + callback함수 -2-
//익명함수 (함수가 값임)
var a = function (){
var fs = require('fs');
fs.readFile('syntax/sample.txt', 'utf8', function(err, result){
console.log(result);
});
}
//함수가 끝났으니 다음 일을 하세요! 알려줌
//callback : a가 가리키는 함수를 가짐
function slowfunc(callback){ //엄청 느리게 동작하는 함수
console.log('1');
callback(); //console.log('A')가 실행됨
console.log('2');
}
slowfunc(a);
1
2
A
만약 callback()함수 아래 코드가 그냥 console.log가 아니라 callback함수에 들어있는 readFile()보다 더 작업시간이 오래 걸리는 코드였다면 1->A->2 순서이다.
반응형
'Back-End > Node.js' 카테고리의 다른 글
Node.js.30.HTML-form (0) | 2020.09.02 |
---|---|
Node.js.29.Node.js의 패키지 매니저와 PM2 (0) | 2020.09.02 |
Node.js.28.2.Nodejs에서 동기와 비동기 2 (0) | 2020.09.02 |
Node.js.28.1.Nodejs에서 동기와 비동기 1 (0) | 2020.09.02 |
Node.js.27.수업의 정상 (0) | 2020.09.02 |