Я только начал изучать API-интерфейс Fetch: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
Вот фрагмент кода, который я написал, чтобы поработать с ним:
fetch('http://swapi.co/api/people/1')
.then(function(response) {
var json = response.json();
console.log(json);
// Expected : { "name": "Luke Skywalker","height": "1.72 m", ... }
// Get : Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}
});
Я бы ожидал получить объект JSON из response.json().
Подобно тому, что вы получаете при использовании JSON.parse().
Вместо этого я получаю объект обещания.
Если я увеличиваю цепочку обещаний, как показано здесь...
return response.json().then(function(json) {
// process your JSON further
});
... тогда он работает: внутри метода then следующего обещания он выглядит как json.
Почему я не могу получить данные JSON в течение then() первого обещания?
Может кто-нибудь объяснить, что здесь происходит?
Я бы очень признателен.