calculate 함수에 callback이라는 콜백 함수를 파라미터로 받아와서 연산이 끝나고 해당 함수에 결괏값을 인자로 넣어서 호출하도록 해줬습니다. 이렇게 코드를 작성했을 때 출력되는 결과물은 이전과 동일합니다.
물론 이와 같이 간단한 연산을 할 때 코드를 비동기적으로 작성하지는 않습니다. 실제 프로젝트에서는 더 복잡한 연산을 하거나 파일을 읽고 써야 하거나, 또는 네트워크를 요청해야 하는 상황 등에 사용합니다.
예를 들어, 과거에는 브라우저에서 jQuery를 사용해 ajax 통신할 때 다음과 같이 콜백 함수를 자주 사용했죠.
Note ≡
이제는 jQuery의 ajax 기능도 Promise를 지원합니다. 모던 웹 애플리케이션에서는 jQuery의 ajax 대신 axios 또는 fetch를 사용하는 추세입니다.
function (username, callback) { $. ('https://sample.com/users/' + username, function(response) { (response); }); } (function(profile) { // profile을 사용하는 코드... })