Grapeoff
@Grapeoff
В чём концепция...?

Почему локальная переменная просто берёт и обнуляется?

Либо я чего-то не понимаю, либо JavaScript стоит запретить законодательно и приравнять к экстремизму...

async uploadCSV(file: Express.Multer.File) {
    const errorsOnLines: number[] = [];

    const csvString = Buffer.from(file.buffer).toString('utf-8');
    const pupils = await csvtojson({
        ignoreEmpty: true,
        maxRowLength: 9,
        delimiter: 'auto'
    }).fromString(csvString);

    pupils.forEach(async (pupil: createPupilDTO, index: number) => {
        pupil.age = moment(pupil.age, 'DD.MM.YYYY').toISOString();

        try {
            await this.PupilModel.validate(pupil);
        } catch (err) {
            errorsOnLines.push(index + 2);
        }
    });

    console.log(errorsOnLines)
}


Если запустить режим дебага и наставить брейкпоинтов, то можно увидеть, как массив errorsOnLines наполняется двумя, тремя значениями и так далее. Но как только выполнение доходит до console.log() я получаю [].

Помогите...
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
bingo347
@bingo347 Куратор тега Node.js
Crazy on performance...
Либо я чего-то не понимаю
Не понимаете значение слова асинхронный
console.log отрабатывает раньше любого errorsOnLines.push
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы