콜백은 어떤 작업이 완료된 후 호출되는 함수를 말한다
콜백은 주로 비동기 작업의 결과를 처리하거나, 이벤트 발생 시 실행되는 작업을 정의할 때 사용한다
콜백 함수는 다른 함수의 인자로 전달, 필요한 시점에 실행
node.js에서 I/O 작업, 타이머, 이벤트 리스너 등 다양한 비동기 작업에 콜백을 사용한다
이를 통해 블로킹을 피하고 높은 처리 성능을 유지한다
콜백의 예시
// express.js를 사용할 때 많이 쓴다
router.get('/signup_page', (req, res) => {
res.render('signup');
});
콜백을 사용할 때 주의할 점은 콜백 지옥이다
콜백 지옥은 여러 비동기 작업이 순차적으로 실행되어야 할 때 콜백 함수가 중첩되어 코드의 가독성과 유지 관리성이 매우 떨어지는 현상을 말한다
해결 방법으로는 Promise또는 async/await와 같은 방식을 사용할 수 있다
블록킹과 논블록킹
- 블록킹 : 어떤 작업이 완료될 때까지 프로그램 실행을 멈춘다
- 논블록킹 : 어떤 작업이 완료될 때까지 기다리지 않고 계속 진행된다 비동기 작업은 논블록킹 방식에 따른다
'과거공부모음' 카테고리의 다른 글
동기(Synchronous)와 비동기(Asyncronous) (0) | 2023.04.14 |
---|---|
node.js 이벤트 루프(event loop) (0) | 2023.04.13 |
Nest.js log를 파일로 만들어서 관리 (logging) (0) | 2023.04.02 |
TypeORM 추진 추천 쿼리 (0) | 2023.04.02 |
Nest.js에서 Google Vision API 사용하기 (0) | 2023.04.01 |