为什么我不能只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会被黑洞吞噬?