Promise 객체 생성 시 콜백 함수(executor)가 생성자에 전달됩니다. 이 콜백 함수는 Promise의 초기화, 이행 또는 거부를 담당합니다. 그러나 이 콜백이 실행될 때 즉시 명확하지 않을 수 있습니다.
제공된 코드 조각에서 다음과 같은 질문이 발생합니다. Promise 생성과 관련하여 doSomeWork() 함수가 언제 호출됩니까?
정답:
Promise 사양과 MDN 문서에 따르면, 실행자 콜백은 Promise가 생성된 직후 동기적으로 호출됩니다. 이는 새로운 Promise 라인에 도달하자마자 doSomeWork()가 실행된다는 것을 의미합니다.
추가 정보:
이 동기식 실행은 실행자 콜백이 항상 호출되도록 보장합니다. 이에 의존할 수 있는 다른 작업 전에. 예를 들어, 여러 Promise를 연결하거나 all 또는 race를 사용하여 Promise를 결합하는 경우 해당 Promise의 콜백은 올바른 순서로 호출되도록 보장됩니다.
또한 콜백의 동기 호출을 통해 다음이 가능합니다. Promise 실행으로 인한 즉각적인 부작용인 경우
참고:
Promise의 비동기 동작은 실행자 콜백이 호출되고 Promise가 생성된 후에만 적용된다는 점을 이해하는 것이 중요합니다. 따라서 실행기 콜백 내의 코드는 동기식으로 실행되고 이후의 모든 비동기 작업은 비동기식으로 수행됩니다.
위 내용은 Promise의 생성자 콜백은 언제 실행되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!