Почему объект ответа из JavaScript JavaScript API обещает?

При запросе с сервера с помощью API JavaScript JavaScript вы должны сделать что-то вроде

fetch(API)
  .then(response => response.json())
  .catch(err => console.log(err))

Вот,response.json() решает свое обещание.

Дело в том, что если вы хотите поймать404ошибки, вы должны разрешить обещание ответа и затем отклонить обещание получения, потому что вы закончите толькоcatch если произошла ошибка сети. Таким образом, вызов извлечения становится чем-то вроде

fetch(API)
  .then(response => response.ok ? response.json() : response.json().then(err => Promise.reject(err)))
  .catch(err => console.log(err))

Об этом гораздо сложнее читать и рассуждать. Итак, мой вопрос: зачем это нужно? Какой смысл иметь обещание в качестве значения ответа? Есть ли лучшие способы справиться с этим?

Ответы на вопрос(1)

Ваш ответ на вопрос