我做了一些实验,我注意到了这个奇怪的事情
const isNumber = (number) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
if (typeof number !== "number") {
reject("this is not a number!");
} else {
resolve("this is a number!");
}
}, 1000);
});
};
isNumber("wrong")
.then(result => console.log(result))
.catch(err => console.log(err));
这段代码可以正常工作。
但是,如果我将最后 3 行更改为
isNumber("wrong")
.then(result => console.log(result))
.catch(err => {throw err});
它会告诉我我的承诺的拒绝没有得到处理,即使它是?