В настоящее время я изучаю, как работать с API, и у меня возникают небольшие проблемы с получением данных из API. Приведенный ниже код успешно получает ответ, но фактически не получает никаких данных с сервера. Как мне это решить?
const onClick = () => {
fetch(
`https://collectionapi.metmuseum.org/public/collection/v1/objects/45734`
)
.then(res => {
if (res.ok) {
console.info(res)
console.info('SUCESSS')
} else {
console.info("Not Successful")
}
})
.then(data => {
if (data) {
console.info(data)
} else {
console.info("undefined data")
}
})
.catch(error => console.info('ERROR'))
console.info(results);
}
Методы обещания .then
могут быть объединены в цепочку таким образом, что каждый связанный then
метод будет получать возвращаемое значение предыдущего. В вашем случае первый не возвращает никаких значений, поэтому второй ничего не получает, также известный как undefined.
Поскольку URL-адрес, который вызывает ваш код, возвращает json-контент, после успешной регистрации вы должны вернуть результат res.json()
.
Это прочитает поток тела ответа и проанализирует его как json, используя обещание.
нет, где в коде вы устанавливаете результаты в значение