title: Why is .json() asynchronous?
body: <p>I've been following a tutorial and came across the following code snippet:</p>
  
  <pre><code>const myAsyncFunction = async () =&gt; {
      const usersResponse = await fetch(
          'https://jsonplaceholder.typicode.com/users'
      )
      const userJson = await usersResponse.json();
      const secondUser = userJson[1];
      console.log(secondUser);
      const posts = await fetch (
          'https://jsonplaceholder.typicode.com/posts?userId=' + secondUser.id
      );
      const postsJson = await posts.json();
      console.log(postsJson);
  }
  myAsyncFunction();
  </code></pre>
  
  <p>Shouldn't the converting of a response to a JSON object happen instantly, the same way fetching a value from an array e.g. <code>userJson[1]</code> does? Why is it required to <code>await</code> <code>usersResponse.json()</code> and <code>posts.json()</code>?</p>