Когда мы засовываем промис в функцию, то мы обязаны обработать ошибку, иначе у нас скрипт зависнет
Но обрабатывая ошибку в функции, результатом может прийти ошибка и это будет считать корректным ответом
Как нам проверять на то, что нам пришла не ошибка
[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')