왜 Error
catch 콜백 내부를 던져서 프로세스가 다른 범위에있는 것처럼 오류를 처리하도록 할 수 없습니까?
내가 console.log(err)
아무 것도 인쇄 하지 않으면 어떤 일이 일어 났는지 전혀 모른다. 과정은 막 끝납니다 ...
예:
function do1() {
return new Promise(function(resolve, reject) {
throw new Error('do1');
setTimeout(resolve, 1000)
});
}
function do2() {
return new Promise(function(resolve, reject) {
setTimeout(function() {
reject(new Error('do2'));
}, 1000)
});
}
do1().then(do2).catch(function(err) {
//console.log(err.stack); // This is the only way to see the stack
throw err; // This does nothing
});
메인 스레드에서 콜백이 실행되면 왜 Error
블랙홀에 의해 삼키는가?
.catch((e) => { throw new Error() })
, 쓰거나 .catch((e) => { return Promise.reject(new Error()) })
간단히.catch((e) => Promise.reject(new Error()))
.catch(…)
돌아 오는 약속을 거부 합니다.