Promise.withResolvers()
- 프로미스 객체와, 그 프로미스를 제어할 수 있는 resolve, reject 함수를 하번에 생성할 수 있게 해준다.
- 프로미스 생성과 제어를 더 간단하고, 명확하게 만들어준다.
const { promise, resolve, reject } = Promise.withResolvers();
-
promise
- 새로 생성된 Promise 객체
-
resolve
- 프로미스를 이행하는 함수
-
reject
- 프로미스를 거부하는 함수
-
프로미스 생성과 제어 로직을 분리할 수 있다.
-
프로미스 생성자를 직접 사용하는 것 보다 실수 가능성이 줄어든다
function asyncOperation() {
const { promise, resolve } = Promise.withResolvers();
setTimeout(() => {
resolve('작업 완료!');
}, 1000);
return promise;
}
asyncOperation().then(result => console.log(result));