Это потому, что вы анализируете свой Response как text
, а не как json
, а затем пытаетесь вызвать объект-ключ для string
.По сути, у вас есть строка, которая выглядит как json.Вместо этого проанализируйте ваш ответ с помощью .json()
-метода.
return response.text()
должно быть поэтому return response.json()
для восстановления вашего кода
// With .then()
fetch(url2)
.then((response) => {
return response.json()
})
.then((responseJson) => {
return responseJson.movies;
})
.catch((error) => {
console.error(error);
});
// OR with await/async
const response = await fetch(url2)
const json = await response.json() // As '.json()' is async function as well
return json.movies
Я бы успешно использовал await/ async, так как синтаксис намного чище, и его нужно начинать.