[JS]Promise

K00·2022년 9월 19일
post-thumbnail

promise란?

The promise object represents the eventual completion (or falilure)
of an asynchronous operation and its resulting value

사용목적

콜백을 수없이 엮어놓은 콜백지옥을 가독성 좋은 코드와 비동기적으로 구현할 수 있다 .

syntax

new Promise(resolve , reject)

promise의 상태

pending : 막 생성되서 이행하지도,거부하지도 않은 초기상태
fulfilled : 성공적으로 수행
rejected : 실패

promise method

  • 인스턴스 메서드(instance method)
    than(()=>) promise를 콜백 형태로 받아올것
    catch() finally() error handling처럼 사용함 됨

  • 정적 메서드(static method)

    • .resolve(value) promise에 인수로 (resolve, reject) 해도되고 . 그냥 method써서 Promise.resolve(value) 해도 상관없 니맴
    • .reject(reason) 위 동일
    • .all(iterable) : 병렬처리로 모든 promise 실행 ex)
      promise.all([value1, value2, value3]) value들을 병렬적으로 실행함
    • .race(iterable) : 호출한 값들중 가장 빠른 값만 출력됨 promise.race([value1(1s), value2(3s)]) = value 1만 출력
    • .allSettled((iterable) 병렬처리 결과에 [{status: 'fullfiled', value: 딸기} , {status: 'reject', value: 사과}] =이렇게 상태와 값을 객체에 묶어서 반환함

async await

async 함수내 promise를 동기적으로 실행함

 async fucntion(){
	await ...
	await ...

}

%%최신 문법 async 없이도 await 사용가능 (async 함수로 감아줄 필요가 없음

0개의 댓글