더북(TheBook)

func 함수를 선언했고 인자로 콜백 함수를 받았습니다(). 전달받은 콜백 함수에 "callback!!"이라는 인자 값을 전달하도록 구현했습니다(). 익명 함수를 인자로 func 함수를 호출했습니다(). 실행하면 “callback!!”을 화면에 출력합니다.

코드 3-1은 겉보기에는 비동기 프로그래밍처럼 보이지만 동일한 스레드 위에서 동기적으로 동작합니다. func 함수 내부에서 비동기적으로 콜백하려면 process.nextTick 함수를 이용해야 합니다. process.nextTick 함수는 특정 함수를 호출하기 전 CPU가 다른 높은 우선순위의 명령을 수행하게 합니다. process.nextTick 함수를 이용한 코드 3-2를 살펴봅시다.

코드 3-2 nextTick을 사용한 비동기 프로그래밍

예제 파일 : nextTick.js

function func(callback) {
    //  nextTick을 사용해 인자 값으로 전달된 callback 함수 호출
    process.nextTick(callback, "callback!!");
}
try {                             //  예외 처리를 위해 try~catch 문 선언
    func((param) => {
        a.a = 0;                  //  의도적으로 예외 발생
    });
} catch (e) {
    console.log("exception!!");    //  같은 스레드일 경우 호출
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.