У меня есть асинхронная функция по чтению информации о файле. При выборе всех файлов (а их может быть много - 100+), я читаю информацию о каждом, и отдаю дальше, но вот проблема - чтение информации происходит асинхронно, и файлы передаются без детального описания. Как правильно использовать await/async для того, чтобы ето сделать?
Вот что получилось:
Как правильно передать метадату?
async function getMetadataSync(file) {
musicMetadataReader(file, (err, metadata) => {
if (metadata.picture.length > 0) {
metadata.picture[0].base64String = getDecodedPicture(metadata.picture[0]);
}
return new Promise((resolve, reject) => {
resolve(metadata); // metadata (true)
});
});
}
Тут не могу получить:
await getMetadataSync(stream)
.then((metadata) => {
console.log(metadata); // undefined
});