Немогу понять, почему поведение разное.
В таком варианте все работает, как ожидалось:
const debug = require("debug")("m");
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
reject("promise rejected");
}, 1000);
});
promise.then(
v => {
debug("resolve", v);
},
e => {
debug("reject", e);
},
);
Ставлю catch вместо обработчика reject
const debug = require("debug")("m");
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
reject("promise rejected");
}, 1000);
});
promise.then(v => {
debug("resolve", v);
});
promise.catch(e => {
debug("catch: ", e);
return;
})
работает так же, но nodejs кричит UnhandledPromiseRejectionWarning. Как понимать этот варнинг?