JavaScript fetch API. Почему response.json() возвращает объект обещания (вместо JSON)?

Я только начал изучать 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() первого обещания?

Может кто-нибудь объяснить, что здесь происходит?

Я бы очень признателен.