function B() {
console.log("called at the back!");
}
function A(callback) {
callback(); //callback === B
}
A(B);
동기 - 요청에 대한 결과가 동시에 일어난다.
비동기 - 요청에 대한 결과가 동시에 일어나지 않는다.
손님 1이 아메리카노를 주문한다.
손님 2가 카페라떼를 주문한다.
<특징>
요청에 blocking이 없다.
응답이 비동기적으로 이뤄진다.
주문에 의한 콜백이 나중에 실행.
비동기 함수 전달 패턴 1. callback 패턴
let request = 'caffelatte';
orderCoffeeAsync(request, function(response) {
//-> 주문한 커피 결과
drink(response);
});
비동기 함수 전달 패턴 2. 이벤트 등록 패턴
let request = 'caffelatte';
orderCoffeeAsync(request).onready = function (response) {
//response ->주문한 커피 결과
drink (response);
};