[JS] 45-48 메모

Jimyu·2023년 12월 17일
0

45장 프로미스

  • 기존의 콜백 함수로 인해 발생하던 단점인 가독성 문제 및 에러 처리 문제를 보완할 수 있는 비동기 처리 패턴이 프로미스.
  • 비동기 처리 시점 명확하게 표현 가능한 것이 장점
  • 비동기 동작 코드의 처리 결과를 외부로 반환/상위 스코프 변수에 할당하면 기대처럼 동작하지 않는다.
  • 에러는 호출자 방향으로 전파된다.
  • Promise에서 settled 상태가 되면 더이상 다른 상태로 변화할 수 없다.
  • Promise.all => 비동기 처리 병렬 처리. 처리 순서가 보장되며 하나라도 rejected 되면 즉시 종료된다.
  • Promise.allSettled => 처리 결과를 배열로 반환.
  • 프로미스의 후속 처리 메서드의 콜백함수는 태스크큐보다 우선순위 높은 마이크로테스크 큐로 저장된다.
  • fetch => 에러 나도 reject 안 함.

46장 제너레이터, async/await

  • 제너레이터 함수는 화살표 함수로 정의 불가!
  • 제너레이터 객체는 이터러블 && 이터레이터
  • 함수 호출자와 함수 상태를 주고받을 수 있다
  • async, await => 에러를 잡아낸다!

47장 에러 처리

  • try ...catch문을 쓰면 강제 종료 없이 에러 처리가 가능하다
  • Error 객체 생성과 에러 발생은 의미가 다르다!
  • 에러를 '발생' 시키려면 throw문을 써야 한다.
  • 에러 전파 방향은 호출자, 즉 콜 스택 아래 방향으로 진행

48장 모듈

  • 모듈이란 앱 구성하는 개별 요소로서 재사용 가능한 코드 조각을 의미
  • 모듈은 본인만의 파일 스코프를 가질 수 있어야 한다.
  • ESM 파일 확장자는 mjs 사용하기
profile
블로그 이전 : https://jimyu-s-record.tistory.com/

0개의 댓글