Зачем нужен new Promise при конвертировании файла в base64
Есть модуль загрузки файла. В котором пользователь выбирает файлы и отправляет бэку.
Этот класс конвертирует файлы в base64
export default class Service {
static toBase64(file) {
const reader = new FileReader();
reader.readAsDataURL(file);
return new Promise((resolve, reject) => { // ?
reader.onload = () => resolve(reader.result); // ?
reader.onerror = (err) => reject(err); // ?
});
}
}
Вот тут перебираются все файлы и отправляются бэку
const attachments = [];
for (let i = 0; i < file.length; i++) {
const contentBase64 = FileService.toBase64(file[i]);
const filename = FileService.getFilename(file[i]);
attachments.push({ contentBase64, filename });
}
Я не понимаю что происходит тут. Зачем тут вообще нужен new Promise?
return new Promise((resolve, reject) => { // ?
reader.onload = () => resolve(reader.result); // ?
reader.onerror = (err) => reject(err); // ?
});