catch コールバック内で単にスローしError
て、他のスコープにあるかのようにプロセスにエラーを処理させることができないのはなぜですか?
私が何もしなければ、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
、ブラック ホールに飲み込まれてしまうのはなぜですか?