Я работаю над бэкэндом nodejs, и мне нужно получить типы файлов из списка потоков файлов, которые загружает пользователь.Всякий раз, когда я запускаю функцию getStreamFileTypes
, результат неверный, я могу получить видеофайл типа изображения и наоборот с этой ошибкой, выведенной на консоль:
(node:11868) MaxListnersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added. Use emitter.setMaxListeners() to increase limit
Как это исправить?Это код:
const getStreamFileTypes = async (streams) => {
try {
// get a list of detector promises
const typePromises = streams.map(stream => {
// pipe the stream content to detector
// to emit file type
miss.pipe(stream, detector, err => {
if(err) {
console.log('an error occured');
throw err;
}
});
// stream.pipe(detector).resume();
// return dector filetypepromise that resolves
// to the file type of the stream
return detector.fileTypePromise()
.then(filetype => {
return { ...filetype, stream };
})
.catch(error => {
throw UnknownError;
});
});
// wait for all stream's filetypes to be detected
const fileTypes = await Promise.all(typePromises);
return fileTypes;
} catch(error) {
console.log('error occured while getting stream types ', error);
throw error;
}
}