title: Fetch vs Request
body: <p>I'm consuming a JSON stream and am trying to use fetch to consume it. The stream emits some data every few seconds. Using fetch to consume the stream gives me access to the data only when the stream closes server side. For example:</p>
  
  <pre><code>var target; // the url.
  var options = {
    method: "POST",
    body: bodyString,
  } 
  var drain = function(response) {
    // hit only when the stream is killed server side.
    // response.body is always undefined. Can't use the reader it provides.
    return response.text(); // or response.json();
  };
  var listenStream = fetch(target, options).then(drain).then(console.log).catch(console.log);
  
  /*
      returns a data to the console log with a 200 code only when the server stream has been killed.
  */
  </code></pre>
  
  <p>However, there have been several chunks of data already sent to the client. </p>
  
  <p>Using a node inspired method in the <em>browser</em> like this works every single time an event is sent:</p>
  
  <pre><code>var request = require('request');
  var JSONStream = require('JSONStream');
  var es = require('event-stream');
  
  request(options)
  .pipe(JSONStream.parse('*'))
  .pipe(es.map(function(message) { // Pipe catches each fully formed message.
        console.log(message)
   }));
  </code></pre>
  
  <p>What am I missing? My instinct tells me that fetch should be able to mimic the <code>pipe</code>  or stream functionality.</p>