[3주차] JavaScript - 이벤트 루프와 비동기 동작

minLuna·2023년 3월 18일
0

엘리스 AI트랙 7기

목록 보기
22/62

본 자료는 박규하 코치님과 Elice 플랫폼의 자료를 사용하여 정리하였습니다.

비동기 동작

  • 순차적으로 실행되지 않는 코드를 비동기 동작이라고 한다.
  • 타이머 또는 API를 호출하는 경우
    • setTimeout() 일정시간이 지난 후 콜백함수를 실행
    • setInterval() 일정간격으로 콜백함수를 실행
    • Promise 비동기 처리를 위한 객체
    • async / await 항상 Promise를 만환 / Promise가 결과를 반환할때까지 함수의 실행을 일시정지
  • node.js의 경우 파일처리 API, 암호화 API등을 제공한다.

이벤트 루프

  • call stack => web APIs => callback Queue
    • call stack
      • 현재 실행중인 함수의 정보
    • web APIs
      • 비동기 동작 실행
    • callback Queue
      • Web APIs에서 발생한 콜백함수를 저장
  • 비동기 처리모델
    • 비동기 코드를 처리하는 모듈은 자바스크립트 엔진 외부에 있다.
    • 이벤트 루프(event loop), 태스크 큐(task queue), 잡 큐(job queue)등으로 구성된다.
    • API 모듈은 비동기요청을 처리 후 태스크 큐에 콜백함수를 넣는다.
    • 자바스크립트 엔진은 콜 스택이 비워지면, 태스크 큐의 콜백함수를 실행한다.
profile
열심히

0개의 댓글