자바스크립트는 동기식(Syncronous) 언어이다
Syncronous=동기 : 요청을 보낸 후 해당 요청의 응답을 받아야 다음 동작을 실행하는 방식
Asynchronous=비동기 : 요청을 보낸 후 응답과 관계없이 다음 동작을 실행하는 방식
자바스크립트는 동기! Why? How?
💡 이런 구조이기 때문
- 코드가 실행되면 순서대로 Call Stack에 실행할 함수가 쌓인다.(push)
- 쌓인 반대 순서로 함수가 실행된다.(LIFO)
- 실행이 된 함수는 Call Stack에서 제거된다(pop)
자바스크립트가 비동기적으로 보이는 것은 비동기적으로 보이는 조작을 하기 때문
- 비동기적 Callback
- Promises
- Async&Await
이 밑의 블로그 설명 잘되어있다!
https://lpla.tistory.com/109
참고링크
callback=>전체적인 코드 흐름으로 봤을때는 처리를 기다려주지 않기 때문에 비동기/ 콜백함수 자체로는 값을 받고 나서야 결과를 처리해주기 때문에( (e)=>(console.log(e) ) 동기,,,
즉, 콜백함수를 통해 비동기 처리를 하는 것(콜백함수가 비동기인것이 아님)