라이브러리
[JAVASCRIPT] new Promise((resolve, reject) => {}) - 비동기 작업을 위한 프로미스 생성
Promise란?
Promise는 자바스크립트에서 비동기 처리를 위한 객체입니다. 비동기 처리란 즉시 처리되지 않고 미래의 어떤 시점에 결과가 도출되는 처리 방식을 의미합니다. Promise는 이 비동기 처리를 위한 객체로, 콜백 함수를 사용하여 처리 결과를 받을 수 있습니다.
new Promise((resolve, reject) => {})의 구조
Promise를 생성하는 방법은 `new Promise((resolve, reject) => {})` 형식으로 사용합니다. 여기서 `resolve`와 `reject`은 함수입니다.
- `resolve`: Promise가 성공적으로 처리된 경우 호출되는 함수입니다. 이 함수는 Promise의 결과를 반환합니다.
- `reject`: Promise가 실패한 경우 호출되는 함수입니다. 이 함수는 Promise의 오류를 반환합니다.
예제
예제 설명
위 예제에서는 `getPromise()` 함수를 호출하여 Promise를 생성합니다. `getPromise()` 함수는 2초 후에 Promise를 반환합니다. 2초 후에 `resolve` 함수를 호출하여 Promise를 성공적으로 처리합니다. `then` 함수는 Promise가 성공적으로 처리된 경우 호출되는 함수로, Promise의 결과를 받을 수 있습니다. `catch` 함수는 Promise가 실패한 경우 호출되는 함수로, Promise의 오류를 받을 수 있습니다.
Promise의 상태
Promise는 3가지 상태를 가집니다.
- Pending: Promise가 아직 처리되지 않은 상태입니다.
- Fulfilled: Promise가 성공적으로 처리된 상태입니다.
- Rejected: Promise가 실패한 상태입니다.
예제 (Promise의 상태)
예제 설명
위 예제에서는 `getPromise()` 함수를 호출하여 Promise를 생성합니다. `getPromise()` 함수는 Pending 상태로 Promise를 반환합니다. 2초 후에 Fulfilled 상태로 Promise가 변경됩니다. 다시 Pending 상태로 Promise를 변경하고, 4초 후에 Fulfilled 상태로 Promise가 변경됩니다.
Promise.all()
Promise.all() 함수는 여러 Promise를 하나의 Promise로 반환합니다. 여러 Promise가 모두 성공적으로 처리된 경우, 하나의 Promise를 반환합니다. 하나의 Promise가 실패한 경우, 하나의 Promise를 반환합니다.
예제 (Promise.all())
예제 설명
위 예제에서는 `getPromise1()`, `getPromise2()`, `getPromise3()` 함수를 호출하여 Promise를 생성합니다. `getPromise1()`과 `getPromise2()` 함수는 모두 Fulfilled 상태로 Promise를 반환합니다. `getPromise3()` 함수는 Rejected 상태로 Promise를 반환합니다. `Promise.all()` 함수는 여러 Promise를 하나의 Promise로 반환합니다. 하나의 Promise가 실패한 경우, 하나의 Promise를 반환합니다.
Promise.race()
Promise.race() 함수는 여러 Promise 중에서 가장 먼저 처리된 Promise를 반환합니다.
예제 (Promise.race())
예제 설명
위 예제에서는 `getPromise1()`, `getPromise2()`, `getPromise3()` 함수를 호출하여 Promise를 생성합니다. `getPromise2()` 함수는 가장 먼저 처리된 Promise입니다. `Promise.race()` 함수는 가장 먼저 처리된 Promise를 반환합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.