이채야채 2021. 11. 16. 20:03

비동기식 처리란?

  • (WEP API 덕분에)오래걸리는 작업이 있으면 제껴두고 다른것부터 처리하는 방식

동기식 처리(synchronous)와 비동기식처리(asyncrhonous)

그냥 자바스크립트는 오래걸리는 연산을 만나면 멈춘다. => 동기식처리 

WEB API와 연관된 특수한 함수(eventListner, setTImeout 등등)들을 쓰면 작업이 오래걸릴때 다른것부터 실행이 가능하다. => 비동기식처리

 

특수한 함수 : 이런 문법들을 써야만 비동기처리가 가능하다 !

 

console.log(1)
setTimeout(()=>{console.log(2)},1000) //비동기식 처리를 도와주는 함수
element.addEventlistner('click',function(){}) //오래걸리거나 바로바로실행이안되는 것들
console.log(3)

 

JAVASCRIPT를 순차적으로 실행하려면?

콜백함수를 사용한다.

콜백함수를 이용한 함수디자인

//첫째함수 다음에 둘째함수. 순차적으로 실행하고싶다면?
function 첫째함수(){
	console.log(1)
    }
function 둘째함수(){
	console.log(2)
}

첫째함수();
둘째함수(); // 이렇게해도 web API 연관된 함수들 때문에 순차적으로 실행이 안될수도있다.
// 그렇다면 어떻게?

첫째함수(둘째함수);

// 아래와같이 구멍자리에 둘째함수를 넣어준다.

function 첫째함수(둘째함수){
	console.log(1)
    둘째함수()
}

 

콜백함수의 문제점 : 콜백 hell!

 

=> 더쉽게쓰기위한 Promise 패턴