TIL
2020.11.10 화요일 (with 동기/비동기)
백고등어
2020. 11. 11. 00:35
728x90
오늘 한 일
- 동기와 비동기에 관해서 다시 생각해보았다.
- 동기와 비동기, 블락킹와 논블락킹은 절차지향과 객체지향과 같이 개념일뿐이고, 그것을 코드로 표현하다보니 자바스크립트의 콜백으로 표현이 가능할뿐이다
- 그리고 콜백의 단점을 보완하기 위해 문법적으로 Promise, async/await 키워드가 나왔다
- 이벤트 루프의 동작으로 설명하자면 callstack 영역은 동기영역, webAPI 영역은 비동기영역으로 말할 수 있다
- 비동기적으로 동작하는 특정 함수들인 setTimeout, setInterval, AJAX 등등은 내부적으로 처리되는 순서에 따라서 동작되는 순서가 달라질 수 있다
- 그렇게 뒤죽박죽으로 실행되는 순서를 순차적으로 실행할 수 있도록 하는 방법은 자바스크립트의 콜백(callback)만 사용해서 해결할 수 있는 방법이 있지만 위에 얘기했듯이 자바스크립트 콜백의 단점을 보완하기 위해 Promise 객체와 async/await 키워드가 나왔다
Promise & Async/Await 와 이벤트 루프 동작원리
움짤로 보는 자바스크립트 동작 원리(5) - Promises & Async/Await
원문 (영어) : https://dev.to/lydiahallie/javascript-visualized-promises-async-await-5gke#syntax 저자 : Lydia Hallie 👩🏻💻Thanks to Lydia for this amazing article about Javascript! 🖍 Introduction..
kkangdda.tistory.com
자바스크립트 엔진의 이벤트 루프 동작에 관하여
728x90