urjimyu.log
로그인
urjimyu.log
로그인
[JS] 45-48 메모
Jimyu
·
2023년 12월 17일
팔로우
0
js
딥다이브
0
모던 자바스크립트 Deep Dive
목록 보기
8/8
45장 프로미스
기존의 콜백 함수로 인해 발생하던 단점인 가독성 문제 및 에러 처리 문제를 보완할 수 있는 비동기 처리 패턴이 프로미스.
비동기 처리 시점 명확하게 표현 가능한 것이 장점
비동기 동작 코드의 처리 결과를 외부로 반환/상위 스코프 변수에 할당하면 기대처럼 동작하지 않는다.
에러는 호출자 방향으로 전파된다.
Promise에서 settled 상태가 되면 더이상 다른 상태로 변화할 수 없다.
Promise.all => 비동기 처리 병렬 처리. 처리 순서가 보장되며 하나라도 rejected 되면 즉시 종료된다.
Promise.allSettled => 처리 결과를 배열로 반환.
프로미스의 후속 처리 메서드의 콜백함수는 태스크큐보다 우선순위 높은 마이크로테스크 큐로 저장된다.
fetch => 에러 나도 reject 안 함.
46장 제너레이터, async/await
제너레이터 함수는 화살표 함수로 정의 불가!
제너레이터 객체는 이터러블 && 이터레이터
함수 호출자와 함수 상태를 주고받을 수 있다
async, await => 에러를 잡아낸다!
47장 에러 처리
try ...catch문을 쓰면 강제 종료 없이 에러 처리가 가능하다
Error 객체 생성과 에러 발생은 의미가 다르다!
에러를 '발생' 시키려면 throw문을 써야 한다.
에러 전파 방향은 호출자, 즉 콜 스택 아래 방향으로 진행
48장 모듈
모듈이란 앱 구성하는 개별 요소로서 재사용 가능한 코드 조각을 의미
모듈은 본인만의 파일 스코프를 가질 수 있어야 한다.
ESM 파일 확장자는 mjs 사용하기
Jimyu
블로그 이전 : https://jimyu-s-record.tistory.com/
팔로우
이전 포스트
[JS] 타이머
0개의 댓글
댓글 작성