title: Error: Data should not be empty or the "fields" option should be included
body: <p>I've got some code that looks like this </p>
  
  <pre><code>try {
  return inputStream
    .pipe(JSONStream.stringify())
    .on('error', e =&gt; next(`Stringify error: ${e}`))
    .pipe(Json2csvTransform)
    .on('error', e =&gt; next(`json2csv error: ${e}`))
    .pipe(res)
    .on('finish', () =&gt; console.log("Streaming of file is now complete."))
   } catch(error) {
  return res.status(400).json({ message: msg('fileRetrievalError', -3) })
  }
  </code></pre>
  
  <p>and when I reach <code>.on('error', e =&gt; next('json2csv error: ${e}'))</code></p>
  
  <p>the process does not fall through to the <code>catch</code>, it just keeps on keeping on. I'm guessing this is because it's wrapped in a <code>next</code></p>
  
  <p>The error i finally was able to extract is this:</p>
  
  <p><code>Error: Data should not be empty or the "fields" option should be included</code></p>
  
  <p>I tried to dig through the source in the node modules but it didn't mean much to me. </p>
  
  <p>I guess i have two possible solutions: either I need to understand what the error coming from <code>Json2csv</code> means, or i need to be able to exit and close my stream. i tried to just shove <code>return res.status(400).json({ message: msg('fileRetrievalError', -3) })</code> into the callback of the <code>.on('error;)</code>, but if the process fails one time, it fails every time until the session ends, even when giving it all valid information - if that makes sense..</p>
  
  <p>I don't know a ton about node, and this package doesn't have a lot of support surrounding it. </p>