fetch()
уже возвращает Promise
, поэтому избавьтесь от new Promise(...)
части
function getDetails(url) {
return fetch(...).then(...);
}
fetch()
возвращает Response
объект , а не то, что уже было проанализировано для вас. Вы должны позвонить .json()
, чтобы получить ответ, проанализированный JSON.parse()
.
function getDetails(url) {
return fetch(url, {mode: 'no-cors'}).then(response => response.json());
}
Это уже должно работать, но с вашей установкой вы получите синтаксическую ошибку:
SyntaxError: JSON.parse: неожиданный конец данных в строке 1 столбца 1 данных JSON
Чтобы исправить это, удалите mode: 'no-cors'
Добавление всего этого вместе даст нам: