Почему объект ответа из 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))
Об этом гораздо сложнее читать и рассуждать. Итак, мой вопрос: зачем это нужно? Какой смысл иметь обещание в качестве значения ответа? Есть ли лучшие способы справиться с этим?