728x90
동기식 : A 실행 → A 결과 → B 실행 → B 결과
- A 결과를 회신 받아서 그 다음 B를 실행한다.
- 동기식은 순차적, 직렬적으로 태스트를 수행한다.
- 동기식은 요청을 보낸 후 응답(결과물)을 받아야지만 다음 동작이 이루어지는 방식이다.
- 결과가 주어질 때까지 아무것도 하지 못하고 대기해야 하는 단점이 있을 수 있다.
// 동기식 함수 구현
function add(a, b) {
return a + b;
}
// 동기식 함수 사용
let result = add(3,4);
console.log('result : ', result);
|
비동기식 : A 실행 → B 실행 → A 결과
- A가 비동기로 실행되고 A 결과를 기다리지 않고, 바로 B가 실행되고 난 이후 A의 결과가 나올 수 있다.
- 비동기식은 병렬적으로 태스트를 수행한다. 즉, 요청을 보낸 후 결과와는 상관없이 다음 방식이 동작하는 방식이다.
- 결과가 주어지는데 시간이 걸리더라도 그 시간동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있다.
- 비동기식 처리 예시로는 setTimeout과 AJAX가 있다.
// 비동기식
const fs = require('fs');
fs.readFile("readme.txt", "utf8", function (err,content) {
console.log(content);
});
console.log("Reading files ...");
|
- 모듈 로딩 : require('모듈이름')
callback 함수의 결과가 나중에 실행된다.
// 비동기식 함수 구현
function add(a, b, callback) {
let result = a + b;
callback(result);
}
// 비동기식 함수 사용
add(3,4,function (result) {
console.log('result : ', result);
});
|
728x90
'node.js' 카테고리의 다른 글
Node.js jQuery 설치 및 사용 (0) | 2022.08.12 |
---|---|
nodeJS 유틸리티 상속 (0) | 2022.06.09 |
한시간만에 끝내는 Node.js 입문 강의 실습 (0) | 2022.01.15 |
맛집(bestfood) 앱을 위한 node.js 설정 (0) | 2021.12.03 |
CentOS 7 Node.js 환경 설정 (0) | 2020.12.20 |