JavaScript의 Promise는 비동기 작업을 처리하는 우아한 방법을 제공합니다. 사용하는 라이브러리에 따라 promise와 관련된 두 가지 별도의 API인 defer().promise와 Promise를 접할 수 있습니다.
레거시 API의 defer() 함수 약속 상태(해결됨 또는 거부됨)를 나타내는 지연된 객체를 생성하고 이를 수동으로 제어하는 방법을 제공합니다. Promise의 결과가 되는 값을 받는 Resolve() 메서드를 호출하여 Promise를 해결할 수 있습니다. defer().promise가 반환한 promise는 이 지연된 객체를 캡슐화합니다.
Promise 생성자는 Promise를 직접 생성하여 확인자 및 거부자 함수를 인수로 지정할 수 있습니다. 이러한 함수는 각각 약속을 이행하거나 거부하는 작업을 나타냅니다.
이 두 API의 주요 차이점은 던지기 안전성에 있습니다. Promise 생성자는 발생에 안전합니다. 즉, 실행기 함수(해결자 또는 거부자) 내에서 예외가 발생하면 대신 약속이 거부됩니다.
반면, 레거시 defer API는 발생에 안전하지 않습니다. . 지연된 객체의 메서드(resolve() 또는 recognition()) 내에서 예외가 발생하면 동기적으로 전파되므로 예상치 못한 오류가 발생할 수 있습니다.
안전하고 현대적인 구문을 제공하는 Promise 생성자는 Promise 작업에 권장되는 API입니다. 이는 오류 처리를 단순화하고 일반적인 프로그래머 오류를 방지합니다.
위 내용은 Defer().promise 대 Promise: 어떤 JavaScript Promise API가 더 안전한가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!