본문 바로가기

JavaScript

Node.js 입문 주차 1주차

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