.jpg)
✔️ 코드잇에서 JavaScript 중급
간단한 예 )

Promise 객체를 직접 생성하는 코드이다.
new를 붙이면 객체를 새롭게 생성이 가능하다!
중요한 부분은 파라미터로 들어간 함수!
Promise 객체가 실행될때, 자동으로 동작한다.
안의 함수를 executor 함수라고도 칭한다.
첫번째 파라미터
resolve 파라미터는 생성될 promise 객체를 fulfilled 상태로 만들 수 있는 함수가 연결된다.
두번째 파라미터
reject 파라미터는 생성될 promise 객체를 rejected 상태로 만들수 있는 함수로 연결이된다.
예 ) setTimeout함수를 써서 2초후에 resolve 파라미터로 연결된 함수를 실행할 때...

결과값 :

예 ) setTimeout함수를 써서 2초후에 reject 파라미터로 연결된 함수를 실행할 때...

결과값 :

all 메소드
여러 개의 Promise 객체를 다뤄야 할 때 사용한다.
all 메소드도 then 메소드처럼 새로운 Promise 객체를 리턴한다.
예 )

결과값 :

all 메소드는 아규먼트로 들어온 배열에 있는 모든 Promise 객체가 pending 상태에서 fulfilled 상태가 될 때까지 기다립니다.
만약에 fetch함수 안에 문제가 있다면..

위에 코드를 잘보면 3번째 fetch함수의 url이 조금 이상합니다
결과값 :

race 메소드
all 메소드와 마찬가지로 여러 Promise 객체들이 있는 배열을 아규먼트로 받는다.
all 메소드처럼 promise 객체를 리턴한다.
여러 Promise 객체들을 race(경쟁)시켜서 가장 빨리 상태가 결정된 Promise 객체를 선택하는 메소드
간단한 예 )

fullfilled되는 함수를 가장 빠르게 조절해뒀다. 결과는...
결과값 :

그러면 이번에는 rejected를 해보면...

위에 코드를 자세히보면, fulfilled 상태가 되는 함수는 6초로 조절해두고, 가장 빠른 2초후가 출력이될것이다.
결과값 :

마지막으로 느낀점 :