[Node] Async/Await로 동기 통신하기
자바스크립트로 코딩을 하다 보면 Ajax를 이용해서 코딩을 자주 하게 된다.
그러면 이제 예전에도 Promise 포스팅 했다시피 로직을 여러 번 거치는 프로세스 같은 경우
콜백 지옥과 같은 코드가 나오게 된다.
$.ajax{
  url  : "url1"
  data : data
  success : function(result){
    $.ajax{
      url  : "url2"
      data : data
      success : function(result){
        $.ajax{
          url  : "url3"
          data : data
          success : function(result){
          }
        }
      }
    }
  }
}
아무래도 이와 같은 코드가 있으면 가독성도 떨어질 뿐 아니라 소스가 지저분해져서
추후 유지 보수에서 어려움을 겪게 된다.
그래서 나는 그동안 Promise 패턴을 통해서 이를 극복해나아갔다.
근데 아무래도 조금 나아진 것뿐이지 가독성이 좋다고는 볼 수 없을 거 같다.
그래서 찾아본게 Async/Await 패턴이다.
간단하게 코드를 통해서 해당 패턴의 방법을 알아보고 내가 생각하는 점을 말해보려고 한다.
const asyncFunction1 = () => {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve(1);
    }, 3000);
  });
};
const asyncFunction2 = () => {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve(2);
    }, 1000);
  });
};
async function excuteJob() {
  const result1 = await asyncFunction1();
  const result2 = await asyncFunction2();
  console.log(result1 + result2); // 3
}
excuteJob();
위와 같은 패턴으로 구현하면 동기 통신으로 조금 더? 보기 좋게 구현할 수 있다.
다른 글 읽어보기 ⬇️
 Apache 
  [Linux] Apache 기본적인 명령어
 junitassert