동기호출 : 즉시 실행
비동기 호출 : 나중에 실행
예를 들면
전화는 하던일을 멈추고 받아야함 (bloking)
요청에 대한 결과를 동시에 반응 한다. (synchronous)
동기를 뜻한다.
반면,
문자는 확인후 나중에 답장을 해도된다. 비동기이다.
동기 : 요청에 대한 결과가 동시에 일어난다.
비동기 : 요청에 대한 결과가 동시에 일어나지 않고 요청을 한번데 다받고 이벤트가 준비 되었을 때 응답을 나중에 이루어짐
1. 동기호출
순차 적으로 함수를 실행한다.
2. 비동기 호출
setTimeout 함수를 이용하여 callback 함수는 나중에 실행한다.
** 비동기 함수 전달 패턴 **
1. callback 패턴
let request = 'caffelatte';
orderCoffeeAsync(request, function(response) {
//-> 주문한 커피 결과
drink(response);
}
2. 이벤트 등록 패턴
let request = 'caffelatte';
orderCoffeeAsync(request).onready = function (response) {
//response ->주문한 커피 결과
drink (response);
}
'Javascript' 카테고리의 다른 글
21. 함수메소드(apply, call, bind) (0) | 2020.10.01 |
---|---|
21. 타이머 API (0) | 2020.10.01 |
19. spread연산자 vs arguments (0) | 2020.10.01 |
18. 배열 내장메소드 총정리 (0) | 2020.10.01 |
17. 내장고차함수 (0) | 2020.09.26 |