콜백 함수를 사용해 비동기 작업을 관리할 때 흔히 발생하는 문제점은 여러 개의 비동기 작업을 연달아 처리해야 할 때 다음과 같이 콜백 지옥이 만들어질 수 있다는 점입니다.
getOrder(count => { makeSandwiches(count, sandwiches => { receiveMoney(count * 3200, success => { if (success) { serveSandwiches(sandwiches); } }) }) })
콜백 함수가 연달아 있으면 코드의 가독성이 나빠지고 유지보수가 어려워집니다.