본문 바로가기
개발정리 (nodeJS)

[nodeJS] 자주 사용하는 Node.js 패턴 정리 2 (콜백 패턴)

by 할리갈리0 2023. 6. 22.

1. 콜백 패턴 (Callback Pattern)

비동기 작업을 처리할 때 일반적으로 사용되는 프로그래밍 패턴

작업이 완료되면 코드의 실행 흐름을 다시 호출자에게 돌려주는 방식

작업이 끝날 때까지 다른 코드의 실행을 차단하지 않고 진행 가능

 

2. Node.js에서의 콜백 패턴

Node.js에서는 표준 API 및 라이브러리 대부분이 콜백 패턴을 기반으로 생성됨

함수를 호출할 때 콜백 함수를 인자로 전달하여, 작업 완료 후 이를 처리 가능


3. 파일 읽기 콜백

파일을 읽은 뒤 결과를 콜백 함수를 인자로 호출하여 처리하는 readFile() 사용

const fs = require('fs');

fs.readFile('./example.txt', 'utf-8', (error, data) => {
  if (error) {
    console.error('Error reading file:', error);
  } else {
    console.log('File contents:', data);
  }
});

console.log('File read in progress...');

readFile()의 실행이 시작되자마자 다음 줄인 'File read in progress...'의 출력이 진행

그 후 파일 읽기가 완료되면 콜백 함수가 실행되어 결과 출력

 

4. 에러 처리 콜백 패턴 (Error-first Callback)

콜백 패턴을 사용하면 에러 발생 시 적절한 처리 가능

function doAsyncTask(callback) {
  setTimeout(() => {
    const error = new Error('Something went wrong');
    callback(error, null);
  }, 1000);
}

doAsyncTask((error, result) => {
  if (error) {
    console.error('Error:', error.message);
  } else {
    console.log('Result:', result);
  }
});

 

콜백 패턴을 잘 활용하 코드를 비동기적으로 처리하여 성능을 향상시킬 수 있습니다.

반응형