본문 바로가기

Javascript

20. 동기 호출 VS 비동기 호출

동기호출 : 즉시 실행 

비동기 호출 : 나중에 실행 

 

예를 들면 

전화는 하던일을 멈추고 받아야함 (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