为什么仍然显示标题捕获错误

时间:2020-09-23 12:39:28

标签: javascript api http-headers fetch

我正在从API(特别是Twitch API)中获取JSON,因此必须指定标头。我成功捕获了错误并使用ok属性阻止了URL不正确时在控制台中显示该错误。

fetch("url", {
  headers: {
    // ...
  }
})
.then(res => res.ok ? res : Promise.reject(res))
.then(json => {
  // do something
})
.catch(err => {
  console.log("Error: " + err);
});

但是,正如我发现的那样,如果标题不正确,它将捕获错误,但无论如何在控制台中都会显示错误。尝试catch阻止无济于事。

fetch('https://api.twitch.tv/kraken/users?login=spekalsg3', {
  headers: {
    'client-id': 'wrong id',
    'accept': 'application/vnd.twitchtv.v5+json'
  }
})
.then(res => res.ok ? res.json() : Promise.reject(res))
.then(json => {
  console.log(json);
})
.catch(err => {
  console.log(err);
});

那么如何捕获它并防止其在控制台中显示?

PS标头不依赖于用户输入,但是如果我遇到问题,我想捕获错误。

0 个答案:

没有答案