비동기 코드를 작성할 때 주의할 점은 콜백지옥뿐만이 아니다. 실제로 일련의 비동기 작업들의 흐름을 제어하려면 특정 패턴과 기법을 사용해야만 하는 상황이 있다. 특희 외부 라이브러리를 사용하지 않고 바닐라 자바스크립트만 사용하는 경우에는 더욱 그렇다.

콜백 규칙

비동기 코드를 작성할 때 명심해야 할 첫번째 규칙은 콜백을 정의할 때 함부로 클로저를 사용 하지 않는 것이다. 모듈화 및 재사용과 같은 문제에 대한 추가적인 사항을 고려할 필요가 없어 매력적이겠지만 이는 장점보다 단점이 더 많을 수 있는 방식이다. 대부분의 경우 콜백 헬의 문제를 해결하기 위해 어떤 라이브러리나 멋진 기술 혹은 패러다임의 변화가 필요한 것은 아니며, 간단한 일반적 상식이면 충분하다. 다음은 충접 수준을 낮게 유지하고 일반적으로 코드 체계를 개선하는데 도움이 되는 몇 가지 기본 원칙이다.

else문을 제거하여 오류 검사 패턴을 재구성할 수 있다. 이는 오류를 받는 즉시 함수로부터 복귀가 가능하다. 따라서 다음과 같은 코드를 사용할 것을 권장한다.

if(err) {
	callback(err)
} else{
	// 오류가 없을 때 실행하는 코드 
}
   
  **∨**  

if(err) {
	return callabck(err)
}
// 오류가 없을 때 실행하는 코드