dmc1989
@dmc1989

Как правильно сделать функцию синхронной через await?

У меня есть асинхронная функция по чтению информации о файле. При выборе всех файлов (а их может быть много - 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
});
  • Вопрос задан
  • 282 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы