получение ошибки в консоли при использовании fetch.catch - PullRequest
0 голосов
/ 30 августа 2018

У меня есть следующий код:

fetch(
  url,
  { ...data }
).then((response) => {
  if (!response.ok) throw new Error(response.statusText);
  return response.json();
}).then((response) => {
  resolve(response);
}).catch((error) => {
  console.log('error', error);
  reject(error);
});

Когда я выполняю запрос и получаю 404, строка console.log('error') запускается, но я все равно получаю сообщение об ошибке в консоли:

GET https://swapi.co/api/people/0/ 404 ()

Uncaught (in promise) Error
    at http.js:10

Я не могу понять, почему это происходит, если блок catch() работает, почему он говорит uncaught (in promise)?

1 Ответ

0 голосов
/ 30 августа 2018

Вы звоните reject, так что обещание, на которое он указывает, будет отклонено, и если вы не поймете это, то это не будет сделано. чтобы решить это см .:

Что такое явное обещание построения antipattern и как мне его избежать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...