everyday com-eat
작성일
2023. 12. 10. 16:22
작성자
갱수터
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') 실행

728x90

'{ "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