Promise.withResolver가 뭘까?

안녕하세용

JavaScript] ECMAScript 란 | Beomy

Promise.withResolver은 2024년에 나온 자바스크립트의 새로운 Promise 메소드다.

얘가 뭐하는 앤데??? 😡

만약 Promise 객체를 만들었는데 이행 결과를 Promise 외부에서 결정짓고 싶다면?? 보통 resolve 콜백 함수를 다른 변수에 저장하는 것이 전통적인 방식이었음. 하지만 이런 기능이 불편하다 보니까 Promise.withResolver 기능이 만들어 졌다는 말씀. jQuery에서 해당 기능을 지원하게 하는게 있었지만 요즘에 제이쿼리를 쓰는 경우는 없으니까...

사용 방법

const { promise, resolve, reject } = Promise.withResolver();

이런 식으로 쓴다. 생각보다 기능 자체는 심플하다.

어디에 쓰는지?

사실 쓸데 없어보인다고 생각하는데 생각보다 이걸 써야하는 패턴들이 많다;; 방금도 이거 쓰고 왔음. 근데 너무 최신 기능 (2024년에 추가된 기능)이라 아직 지원 안하는 버전들이 많아서 일단은 지금은 못 쓰고 있다... 일단 최신 브라우저에서는 다 지원되는 듯.

글 작성 시 참고했던 자료

* https://velog.io/@rookieand/til-27

* https://github.com/tc39/proposal-promise-with-resolvers