try {
setInterval(() => {
try {
throw 'big error';
} catch (err) {
console.log('1', err);
throw err; // 1: пытаемся пробросить
}
})
} catch (err) {
console.log('2', err); // 2: но до сюда не доходит
}
return new Promise((res, rej)) => {
setInterval(() => {
if( ... ) { //можно любуюю конструкцию, главное rej() выздать
rej('big error');
return;
}
res('все ок');
});
}).catch(err => {
console.log('2', err); // 2: сюда, доходит
}).then((payload) => {
console.log(payload); //'все ок'
})