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);
}
});
콜백 패턴을 잘 활용하 코드를 비동기적으로 처리하여 성능을 향상시킬 수 있습니다.
반응형
'개발정리 (nodeJS)' 카테고리의 다른 글
[nodeJS] 우분투로 Node.JS 배포하기 (0) | 2023.06.27 |
---|---|
[nodeJS] 자주 사용하는 Node.js 패턴 정리 3 (이벤트 에미터 패턴) (0) | 2023.06.23 |
[nodeJS] 자주 사용하는 Node.js 패턴 정리 1 (모듈 패턴) (0) | 2023.06.21 |
[nodeJS] Node.js와 Express에서 미들웨어 (Middleware) 사용하기 (0) | 2023.06.20 |
[nodeJS] 변수 선언하기 (var, let, const) (0) | 2023.06.19 |