콜백 지옥 비동기 코드의 중첩이 깊어지는 현상. 콜백 함수를 연속적으로 사용할 때 코드의 가독성과 관리가 어려워지는 상황. readFile('file1.txt', (data1) => { writeFile('file2.txt', data1, () => { readFile('file2.txt', (data2) => { writeFile('file3.txt', data2, () => { // 더 많은 작업... }); }); }); }); 간단하게 파일을 읽은 후에 해당 내용으로 다른 파일을 쓰는 작업을 한다고 가정했을 때의 콜백 지옥 예시이다. 콜백 지옥을 피하기 위해 Promise나 async/await 같은 비동기 처리 방법을 사용하는 게 좋다