1. 비동기 작업을 수행하는 것 : setTime, setInterver, request, event(load) -> 비동기 작업 사용 이유 : 하나의 작업을 기다리지 않고 동시 다발적으로 작업을 수행하기 위함 2. 비동기 작업의 결과를 사용하기 위해서 call back 함수를 이용한다. -> call back 함수가 없는 비동기 특성상 언제 함수가 종료 될 지 모르기 때문에 ' 비동기 함수 ' 와 ' 비동기 함수 "내부의 진짜 비동기 함수" ' 가 수행 될 경우 비동기 함수가 먼저 종료 되고, 나중에 비동기 함수 내부의 진짜 비동기 함수가 마무리 된다. -> call back 함수가 존재시, 매개변수에 외부함수를 넣기 때문에 비동기 결과를 가져 올 수 있다. 3. 콜백함수의 2가지 단점을 해결하기 위해..