如果没有捕获,如何阻止承诺抛出错误

时间:2018-01-16 05:08:09

标签: javascript promise es6-promise

我想在不使用catch

的情况下停止下面的状态抛出错误
  const p = new Promise((_, reject) => reject("Err"));

2 个答案:

答案 0 :(得分:1)

  

我正在创建一个正在进行http调用并返回promise的函数。当我得到200并且当我获得状态> = 400时被拒绝,则承诺得到解决。我不希望每次进行http调用时都有捕获功能,并且我希望确保在呼叫失败时不会抛出任何错误,即使我没有捕获功能

好的,然后将其添加到您的代码中:

function makeHttpCall(options) {
    return actualHttpApi(options)
        .catch(_ => null);
}

现在,只要您想要发出HTTP请求,就可以调用makeHttpCall(),但您不必捕获任何错误。相反,您必须检查结果值是否为null

答案 1 :(得分:-1)

我不知道为什么你不想使用catch或者你正面临的问题究竟是什么,但如果你不想使用catch块,这里是代码。

  const p = new Promise((_, reject) => reject("Err"));
  p.then(null,(err)=>{console.log(err)});