본문 바로가기

과거공부모음

node.js 콜백(callback)

콜백은 어떤 작업이 완료된 후 호출되는 함수를 말한다

콜백은 주로 비동기 작업의 결과를 처리하거나, 이벤트 발생 시 실행되는 작업을 정의할 때 사용한다

콜백 함수는 다른 함수의 인자로 전달, 필요한 시점에 실행

node.js에서 I/O 작업, 타이머, 이벤트 리스너 등 다양한 비동기 작업에 콜백을 사용한다

이를 통해 블로킹을 피하고 높은 처리 성능을 유지한다

 

콜백의 예시

// express.js를 사용할 때 많이 쓴다

router.get('/signup_page', (req, res) => {
  res.render('signup');
});

콜백을 사용할 때 주의할 점은 콜백 지옥이다

콜백 지옥은 여러 비동기 작업이 순차적으로 실행되어야 할 때 콜백 함수가 중첩되어 코드의 가독성과 유지 관리성이 매우 떨어지는 현상을 말한다

해결 방법으로는 Promise또는 async/await와 같은 방식을 사용할 수 있다

 

블록킹과 논블록킹

  • 블록킹 : 어떤 작업이 완료될 때까지 프로그램 실행을 멈춘다
  • 논블록킹 : 어떤 작업이 완료될 때까지 기다리지 않고 계속 진행된다 비동기 작업은 논블록킹 방식에 따른다