javascript - 为什么我的承诺不会成功拒绝?
问题描述
我希望成功捕获错误。我不知道为什么它不会抓住。我尝试在承诺中添加更多条件,但它们没有奏效。我希望捕获错误并将其记录到控制台。
const betterChore = (chore) => {
return new Promise((res, rej) => {
setTimeout(() => {
if(chore !== undefined || chore !== null) {
res("I have to " + chore);
} else {
rej(Error("Need to specify a chore."));
}
}, 2000)
})
}
const doTasks = async (task) => {
let chore = await betterChore(task);
return chore;
}
doTasks("")
.then(item => {
console.log(item);
})
.then(() => {
console.log("We are done here!")
})
.catch(err => {
console.log(err.message);
})
解决方案
推荐阅读
- erlang - 为什么我不能在使用 rebar3 生成的应用程序中运行 rebar3 命令?
- go - 使用 ConfigMaps 中的 env 时 Kubernetes 应用程序运行错误
- oracle - 从查询得到的一条记录中识别一条新插入的记录
- ios - 如何通过从大标题过渡到小标题来去除 NavigationBar 底部的白线
- javascript - 菜单导航阻止我与任何其他按钮交互?
- python - 使用 datetime-local 的日期时间验证错误
- docker - 在zalenium docker容器浏览器上运行脚本执行时,如何使用Selenium Webdriver在输入文件字段中上传文件?
- unity3d - VR Carboard api 无屏幕分屏
- sql-server - SQL 脚本应如何检测它正在 AWS RDS SQL Server 实例上执行?
- ubuntu - Ubuntu:configure文件夹不在crosstool-ng目录下