title: FileReader onprogress
body: <p><strong>What I am trying to do?</strong>
  Upload a csv file and show the progress to the user as its being parsed.
  Using csv-parse library as well as a FileReader to do the trick.</p>
  
  <p><strong>The current behaviour</strong>
  The file uploads and everything is parsed but <code>reader.onprogress</code> returns 100% all the time. It doesn't seem to load in chunks. Using a debugger, i see that <code>event.loaded</code> is always the same as <code>event.total</code>. This is the case for ANY size file, whether its 400Kb or 40Mb - except in the 40Mb case it just takes a couple more seconds to show the 100. Code is below.</p>
  
  <pre><code>let reader = new FileReader();
  
      reader.readAsText(this.file);
  
      reader.onload = () =&gt; {
          csvParse(reader.result, (err, data) =&gt; {
              for (let i: number = 0; i &lt; data.length; i++) {
                  this.jsonData.push(data[i]);
              }
          });
      };
  
      reader.onprogress = (event) =&gt; {
          if (event.lengthComputable) {
              let progress: number = ((event.loaded / event.total) * 100);
              console.log(progress);
          }
      };
  
      reader.onerror = function () {
         throw new Error("There was an issue reading the file." + reader.error);
      };
  </code></pre>