비동기적인 상황에서 작업의 순서를 정해야할때 사용함
이벤트루프를 기반으로 함
js의 비동기 처리를 위한 것
pending, fulfilled, rejected의 세가지 상태중 하나를 가짐!!
pending 에서 비동기처리 작업이 완료되면~
1) fulfilled 로 전환돼서 결과값을 반환하거나
2) 오류 발생시 rejected 상태로 전환돼서 오류정보를 반환함
성공시(fulfilled 상태) then()을 실행하고 실패시(rejected 상태) catch()를 실행함.
또한 then()을 여러개 가질 수 있는데 위에서부터 순서대로
각 then()이 완료되면 그 다음 then()이 실행됨.
작업 순서의 가독성이 좋아짐!!~~
*promise.all()을 쓰면 promise.all()안에 있는 then()이 순서 상관없이 병렬적으로 한번에 실행됨.
하지만 모든 then()이 완료될때까지 기다리므로 작업의 순서를 보장하면서도 빠르게 처리 가능
'개발 > JavaScript' 카테고리의 다른 글
'초기화' 란? (0) | 2023.04.11 |
---|---|
이벤트루프 란? (0) | 2023.03.25 |
async/await 란? (0) | 2023.03.25 |
콜백함수 란? (0) | 2023.03.25 |
JavaScript 와 TypeScript 의 차이점 (0) | 2023.03.25 |