Либо я чего-то не понимаю, либо 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()
я получаю
[]
.
Помогите...