728x90
동기/비동기
동기(synchronous) : 하나의 작업이 끝날 때까지 기다렸다가 다음 작업을 처리하는 방식비동기(asynchronous) : 병렬로 동시에 여러가지 일을 처리하는 방식, 효율적이지만 복잡
차이점
Node.js 공식 메뉴얼의 기능이름에 'Syns'가 붙고 매개변수에 callback이 없으면 동기처리방식
readFileSync와 readFile
sample.txt >>> B
----------------------------
var fs = require('fs');
console.log('readFileSyns 시작');
console.log('A');
var result = fs.readFileSync('syntax/sample.txt', 'utf8');
console.log(result);
console.log('C');
console.log('readFile 시작');
console.log('A');
fs.readFile('syntax/sample.txt', 'utf8', function(err, result){
console.log(result);
});
console.log('C');
콜백(Callback)
어떤 실행문을 마치면 내부적으로 자동 호출하는 기능
콜백함수 만들기
function a() {
console.log('A');
}
a();
익명함수
function () {
console.log('A');
}
but 함수를 호출 할 수 없음
함수를 변수에 대입
var a = function () {
console.log('A');
}
a();
처리시간이 오래 걸린다고 가정한 함수를 콜백함수로 만들기
var a = function () {
console.log('A');
}
function slowfunc(callback) {
//시간이 오래 걸리는 함수 >> 이 함수가 끝나면 자동으로 어떤 함수를 호출해줘
callback();
}
slowfunc(a);
slowfunc() 함수는 callback을 매개변수로 받아서 호출
> slowfunc() 함수가 처리를 마치면 곧바로 a 변수에 담긴 함수가 실행됨
> console.log('A') 실행
'{ "Hello World!" }; > Node.js' 카테고리의 다른 글
(Node.js) Form 이용하여 데이터 주고받기 (2) | 2023.12.10 |
---|---|
(Node.js) 패키지 매니저(npm)와 PM2 (1) | 2023.12.10 |
TIL 231210 (0) | 2023.12.10 |
TIL 231208 (0) | 2023.12.09 |
TIL 231207 (1) | 2023.12.08 |