728x90
Node.js 입문 주차 1주차
Node.js 특징
Async + Non-blocking Model
- Non-blocking : 함수가 실행되는 중에도 다른 작업을 동시에 진행할 수 있음.
- Single Thread : 동시에 하나의 작업만 수행할 수 있음
- Event Loop : 싱글 스레드 약점을 극복하기 위해 효율적으로 작업을 처리할 수 있는 특성
※ java랑 c언어는 blocking, 비동기 처리가 가능한 환경이어도 비동기 처리가 불가능하다.
promise test
async function main() {
function first(){
console.log("Set Time Out이 실행되었습니다.");
}
console.log("코드가 실행되었습니다.");
setTimeout(first, 1000); // 1초 뒤에 first 함수를 실행하라.
console.log("코드가 종료되었습니다.")
}
main();
코드가 실행되었습니다.
코드가 종료되었습니다.
Set Time Out이 실행되었습니다.
blocking model의 경우 코드가 실행되었습니다. 출력후, 1초를 기다린 후, Set Time Out이 실행되었습니다. 코드가 종료되었습니다. 순으로 출력되었을 것이다.
function setTimeoutFunc(time){
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log(time, "에 해당하는 시간이 지났습니다.");
resolve();
}, time)
})
}
async function main() {
console.log("시작 되었습니다.");
setTimeoutFunc(1000);
console.log("종료 되었습니다.");
}
main();
시작 되었습니다.
종료 되었습니다.
1000 에 해당하는 시간이 지났습니다.
'JavaScript' 카테고리의 다른 글
Node.js 입문 주차 1주차_3 (0) | 2022.12.13 |
---|---|
Node.js 입문 주차 1주차_2 (0) | 2022.12.13 |
Node.js 실무 기초 1주차 (1) | 2022.12.12 |
자바스크립트 문법 뽀개기2 (0) | 2022.11.22 |
자바스크립트 문법 뽀개기1 (0) | 2022.11.22 |