calculate 함수에 callback이라는 콜백 함수를 파라미터로 받아와서 연산이 끝나고 해당 함수에 결괏값을 인자로 넣어서 호출하도록 해줬습니다. 이렇게 코드를 작성했을 때 출력되는 결과물은 이전과 동일합니다.

    물론 이와 같이 간단한 연산을 할 때 코드를 비동기적으로 작성하지는 않습니다. 실제 프로젝트에서는 더 복잡한 연산을 하거나 파일을 읽고 써야 하거나, 또는 네트워크를 요청해야 하는 상황 등에 사용합니다.

    예를 들어, 과거에는 브라우저에서 jQuery를 사용해 ajax 통신할 때 다음과 같이 콜백 함수를 자주 사용했죠.

    Note ≡


    이제는 jQuery의 ajax 기능도 Promise를 지원합니다. 모던 웹 애플리케이션에서는 jQuery의 ajax 대신 axios 또는 fetch를 사용하는 추세입니다.

    function getUserProfile(username, callback) {
      $.get('https://sample.com/users/' + username, function(response) {
        callback(response);
      });
    }
    
    getUserProfile(function(profile) {
      // profile을 사용하는 코드...
    })
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.