node.js - UnhandledPromiseRejectionWarning 在抛出错误但未记录错误时发生在 catch
问题描述
我做了一些实验,我注意到了这个奇怪的事情
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});
它会告诉我我的承诺的拒绝是未处理的,即使它是?
解决方案
推荐阅读
- javascript - 在 JavaScript 中创建一个库并以 Angular 将其包含在我的项目中
- sql-server - 如何在SSRS报告中以两种不同的格式格式化指定的单元格值
- matlab - 使用 MLE 函数估计自定义分布的参数
- python - xml.etree.ElementTree - .remove() 功能的问题
- mysql - 如何在 MySQL 中修复这个简单的外键错误
- php - 遇到以下 SMTP 错误:0 无法使用 PHP SMTP 发送电子邮件
- java - 如何从 AutoCompleteTextView 中选择文本并将其显示在 ListView 中?
- javascript - 使用 JavaScript 的动态文本输入
- android - 如何从 Kotlin 的 Hashmap 中获取值的关键?
- javascript - Nodejs (2 ** 64) - (2 ** 5) === (2 ** 64) ?为什么