title: readableStream is locked while using .json()
body: <p>everyone!
  I got a problem: I'm trying to validate registration form. Totally, it works ok, but I need to validate form via server. In my case, for example, I need to figure out if email is already taken.</p>
  
  <p>I tried to fetch and async/await syntax, but problem is still the same:
  <code>DOMException: "The operation was aborted. "</code>
  The way I understand it right now is <code>readableStream</code> (what actual response body is) is <code>locked</code>. So the wrong error is thrown, and I cannot get server response.</p>
  
  <pre><code>try {
      const response = await fetch(options.url, options.requestOptions);
      const body = await response.json();
      if (options.modifyDataCallback instanceof Function) {
        body.data = options.modifyDataCallback(body.data);
      }
      return body.data;
    } catch (error) {
      throw error;
    }
  </code></pre>
  
  <p>How do I see the solution? I send request and recieve some server error like </p>
  
  <pre><code>code: email_in_use
  message: Email '...' is already in use. 
  </code></pre>
  
  <p>Then I need to throw error and catch it in other place in order to show corresponding error message to client.</p>
  
  <p>In browsers network tab I do receive what I want to receive, but can't get the same JSON-response in my code.</p>