@AlexNew22

Как правильно обработать [object Error] { ... }, когда это корректный ответ от промиса?

Когда мы засовываем промис в функцию, то мы обязаны обработать ошибку, иначе у нас скрипт зависнет
Но обрабатывая ошибку в функции, результатом может прийти ошибка и это будет считать корректным ответом
Как нам проверять на то, что нам пришла не ошибка [object Error] { ... }, чтобы пустить запрос дальше?
И как вообще правильно строить такую цепочку запросов, где мы отдельным запросом должны получить некую информацию от сервера, а следующим уже, если нам пришла не ошибка, пустить остальные запросы?
Имеется в виду не конструкция Promise.all, а промежуток между первым ответом на запрос доступа и следующими промисами

function getAccess(url) {
	return new Promise((resolve, reject) => {
  	fetch(url).then(data => resolve(data.json()).catch(err => reject(err)))
  })
}

function getPhotos(url, data) {
	return new Promise((resolve, reject) => {
  	fetch(url + data).then(data => resolve(data.json()).catch(err => reject(err)))
  })
}

async function user(url) {
   const user = await getAccess(url)
   // как реализовать проверку, стоит ли нам продолжать остальные запросы или завершить функцию
   const photos = await getPhotos(url, user)
}

user('https://api.github.co')
  • Вопрос задан
  • 56 просмотров
Решения вопроса 1
yarkov
@yarkov Куратор тега JavaScript
Проект "Жизнь после смерти" - lifeafterdeath.ru
try/catch
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы