Angular 2에서는 "처리되지 않은 약속 거부"라는 오류 메시지가 나타날 수 있습니다. 이 당황스러운 오류는 코드에서 프라미스의 부적절한 처리를 나타냅니다.
프라미스는 작업의 최종 완료 또는 실패를 나타내는 비동기 작업입니다. . JavaScript에서는 Promise 생성자를 사용하여 Promise를 생성할 수 있습니다. Promise가 생성되면 값으로 해결되거나 오류로 인해 거부될 수 있습니다.
Promise를 사용할 때는 처리하는 것이 중요합니다. 해결 및 거부 시나리오 모두. 이는 .then() 및 .catch() 메서드를 사용하여 수행됩니다. .then()은 해결된 상태를 처리하는 데 사용되고 .catch()는 거부된 상태를 처리합니다.
처리되지 않은 약속 거부가 발생합니다. 약속이 제대로 처리되지 않을 때. .catch() 핸들러를 제공하지 않고 .then()만 사용하는 경우 이런 일이 발생할 수 있습니다. .catch() 메서드가 없으면 Promise 거부가 처리되지 않은 것으로 간주되어 오류 메시지가 표시됩니다.
"오류: 스폰 cmd ENOENT" 오류는 특히 명령 프롬프트에서 Node.js 스크립트 실행과 관련이 있습니다. ENOENT는 지정된 명령을 찾을 수 없음을 나타냅니다.
처리되지 않은 Promise 거부를 방지하려면 모든 Promise를 올바르게 처리해야 합니다. 가능한 모든 결과를 포착하고 적절하게 처리하려면 .catch() 핸들러를 추가하세요.
다음 코드는 .catch() 핸들러:
var PTest = function () {
return new Promise(function (resolve, reject) { if (somevar === true) resolve(); else reject(); });
}
var myfunc = PTest();
myfunc.then(function () {
console.log("Promise Resolved");
}).catch(function () {
console.log("Promise Rejected");
});
위 내용은 Angular 2에서 처리되지 않은 약속 거부란 무엇이며 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!