처리되지 않은 프라미스 오류는 unhandledrejection 이벤트를 수신하여 포착할 수 있습니다.
이 기사는 가독성을 보장하기 위해 직역이 아닌 무료 번역을 사용했으며, 소스 코드는 대대적으로 수정되었습니다. 또한, 이 글의 저작권은 원저자에게 있으며, 번역은 학습용으로만 사용됩니다.
Promise를 사용하여 비동기 코드를 작성할 때 reject를 사용하여 오류를 처리하세요. 때때로 개발자는 일반적으로 이를 무시하여 일부 오류가 처리되지 않는 경우가 있습니다. 예를 들면 다음과 같습니다.
function main() { asyncFunc() .then(···) .then(() => console.log('Done!')); } |
catch 메서드로는 오류를 포착하지 못하므로 asyncFunc() 함수 reject 시 발생한 오류는 처리되지 않습니다.
이 블로그에서는 브라우저와 Node.js에서 각각 처리되지 않은 Promise 오류를 잡는 방법을 소개합니다.
일부 브라우저(예: Chrome)에서는 처리되지 않은 Promise 오류를 포착할 수 있습니다.
처리되지 않은 Promise 오류를 캡처하려면 unhandledrejection 이벤트를 수신하세요. 이벤트
예: 가장 중요한 2가지 속성이 있습니다:
promise : 거부 Promise |
샘플 코드:
window.addEventListener( 'unhandledrejection', event => ···);
promise
: reject的Promise
reason
rejectionhandled | rejectionhandled
window.addEventListener('unhandledrejection', event => { console.log(event.reason); // 打印"Hello, Fundebug!" }); function foo() { Promise.reject('Hello, Fundebug!'); } foo();
이 이벤트는 PromiseRejectionEvent의 인스턴스입니다.
.
처리되지 않은 Rejection 이벤트를 수신하여 Pro mise 오류: |
샘플 코드:
위 내용은 처리되지 않은 Promise 오류 잡기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!