[Node.js] 생활코딩 / 섹션 3. 수업의 정상
목차
동기와 비동기
동기
console.log('A');
var result = fs.readFileSync('syntax/sample.txt', 'utf8'); // 동기적 처리
console.log(result); // sample.txt 의 txt 내용
console.log('C');
// A, sample.txt, C 순서
비동기
console.log('A');
var result = fs.readFile('syntax/sample.txt', 'utf8', function(err, result){
console.log(result); // sample.txt 의 txt 내용
});
console.log('C');
// A, C, sample.txt 순서
callback
아래 코드는 readFile을 사용해서 syntax/sample.txt를 utf8로 불러오는데, 이건 시간이 오래 걸리니까 그 작업이 끝난 후에 function을 호출해라는 뜻이다. (나중에 불러 = callback)
var result = fs.readFile('syntax/sample.txt', 'utf8', function(err, result){
console.log(result);
});
callback 만들어보기
var a = function(){
console.log('A'); // 3. 최종 실행되는 것
}
function slowfunc(callback){
callback(); // 2. 전달받은 함수 실행
}
slowfunc(a); // 1. 이 때 인수로 전달된 a 는 function() 임