Мне нужно создать файл для каждого месяца, до следующего шага логики, но когда я создаю его внутри для цикла, он не ждет до завершения этой операции.
Я пытался принять цикл вотдельный асинхронный метод, который я вызываю внутри основного метода deleteAvatars с "await".
private async s3ListsCreator(mainPathPart: string, type: string) {
const promises = Constants.MONTHS_FOLDERS.map(async folder => {
const s3Files: string[] = await this.getAllFiles(type, folder);
try {
await this.uploadS3FilesList(mainPathPart, s3Files, folder);
} catch (err) {
this.logger.error(err);
return this.response
.addError(new HttpErrors[400](`Upload on s3 list is unsuccessful`))
.build();
}
});
await Promise.all(promises);
}
async deleteAvatars(): Promise<Response> {
try {
await this.s3ListsCreator(fixPathPart, Constants.SUBFOLDERS.avatars);
} catch (err) {
this.logger.error(err);
return this.response
.addError(new HttpErrors[400](`Upload on s3 list is unsuccessful`))
.build();
}
try {
await this.filesCleanUpLambdaCall(
Constants.LIST_NAMES.avatarsList,
avatarResolutions,
Constants.SUBFOLDERS.avatars.concat(Constants.IMAGE, '/'),
);
} catch (err) {
this.logger.error(err);
return this.response
.addError(new HttpErrors[400](`Clean up is unsuccessful`))
.build();
}
}
Мне нужно создать все файлы перед лямбда-вызовом, но я создаю произвольное количество файлов перед тем, как вызвать лямбда-функцию.
logs: