首页 > 解决方案 > 为什么我的承诺不会成功拒绝?

问题描述

我希望成功捕获错误。我不知道为什么它不会抓住。我尝试在承诺中添加更多条件,但它们没有奏效。我希望捕获错误并将其记录到控制台。

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);
  })

标签: javascriptasynchronouses6-promise

解决方案


推荐阅读