FileReader onprogress - PullRequest
       8

FileReader onprogress

0 голосов
/ 24 мая 2018

Что я пытаюсь сделать? Загрузите CSV-файл и покажите пользователю прогресс по мере его анализа.Для этого используется библиотека csv-parse, а также FileReader.

Текущее поведение Файл загружается и все анализируется, но reader.onprogress все время возвращает 100%.Кажется, он не загружается кусками.Используя отладчик, я вижу, что event.loaded всегда совпадает с event.total.Это относится к ЛЮБОМУ размеру файла, будь то его 400 КБ или 40 МБ - за исключением случая с 40 МБ, для отображения 100 требуется всего несколько секунд. Код ниже.

let reader = new FileReader();

    reader.readAsText(this.file);

    reader.onload = () => {
        csvParse(reader.result, (err, data) => {
            for (let i: number = 0; i < data.length; i++) {
                this.jsonData.push(data[i]);
            }
        });
    };

    reader.onprogress = (event) => {
        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);
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...