>  기사  >  웹 프론트엔드  >  Angular 2에서 \"처리되지 않은 약속 거부\" 오류가 표시되는 이유는 무엇입니까?

Angular 2에서 \"처리되지 않은 약속 거부\" 오류가 표시되는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-04 05:58:29818검색

Why Am I Seeing

Angular 2에서 처리되지 않은 약속 거부 공개

Angular 2 튜토리얼을 탐색하는 동안 "처리되지 않은 약속 거부. " 특히 개념에 익숙하지 않은 경우에는 혼란스러울 수 있습니다. "처리되지 않은 약속 거부"가 무엇인지, 어떻게 해결하는지 알아보겠습니다.

처리되지 않은 약속 거부란 무엇인가요?

Promise는 JavaScript에서 필수적인 메커니즘입니다. 비동기 작업 처리. Promise가 생성되면 해결(성공)되거나 거부(실패)될 수 있습니다. Promise가 거부되었지만 제대로 처리되지 않으면 "Unhandled Promise Rejection" 오류가 발생합니다.

특정 경우 오류는 generate cmd ENOENT와 관련되어 운영 체제가 다음과 같은 명령을 찾을 수 없음을 나타냅니다. "cmd."

처리되지 않은 Promise 거부 해결

이 문제를 해결하려면 코드의 모든 Promise가 처리되었는지 확인해야 합니다. 즉, 각 Promise 뒤에는 성공적인 해결을 처리하기 위한 .then(...) 블록이나 거부를 처리하기 위한 .catch(...) 블록이 와야 한다는 의미입니다.

예를 들어 PTest 함수는 다음과 같을 수 있습니다. 오류 처리를 포함하도록 수정되었습니다.

var PTest = function () {
    return new Promise(function (resolve, reject) {
        if (somevar === true)
            resolve();
        else
            reject(Error("Operation failed"));
    });
}

또한 오류 처리가 별도의 문이 아닌 체인으로 작성되었는지 확인해야 합니다. 다음 코드는 try-catch가 있더라도 "처리되지 않은 약속 거부" 오류를 생성합니다.

try {
myfunc.then(function () {
     console.log("Promise Resolved");
});
} catch (e) {
     console.log("Promise Rejected");
}

이러한 지침을 따르면 약속 거부를 효과적으로 처리하고 "처리되지 않은 약속 거부"가 나타나는 것을 방지할 수 있습니다. 오류가 발생했습니다.

위 내용은 Angular 2에서 \"처리되지 않은 약속 거부\" 오류가 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.