0
動作が異なる理由を理解できません。予想通り、このバージョンのすべてで 作品:奇妙な未処理の約束の拒否
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ハンドラを入れて、ハンドラを拒否:
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);
})
は同じに動作しますが、UnhandledPromiseRejectionWarning警告nodejs。これを理解するには?
ありがとうございました。 "promises/A + spec"にあります:2.2.7.4 onRejectedが関数ではなく、promise1が拒否された場合、promise2はpromise1と同じ理由で拒否されなければなりません。 – tilin