#node.js #file #express #error-handling #multer
#node.js #файл #экспресс #обработка ошибок #multer
Вопрос:
Я использую Multer для получения файлов из запросов для моего экспресс-API, и мне интересно, какова цель значения ошибки в обратном вызове имени файла. Вот мой код:
const multerFile = multer({
storage: multer.diskStorage({
destination: "uploads/",
filename: (req, file, callback) => {
callback(ERROR HERE WHAT IS THIS FOR?, "fileNameHere`);
},
}),
});
Ответ №1:
В Node способ, которым обычно структурируются возможные асинхронные обратные вызовы, заключается в том, что первый аргумент является ошибкой, ИЛИ второй аргумент является значением успеха. Например, вы очень часто будете видеть подобные шаблоны:
callSomeAPI((error, result) => {
if (error) {
// There was an error, do something with it
handleError(error);
} else {
// Success
handleResults(result);
}
});
Этот filename
обратный вызов выполняет то же самое. Если вы реализуете какую-либо пользовательскую логику и хотите указать, что процесс завершился неудачно, передайте первый аргумент, содержащий причину, в обратный вызов:
callback('Desired filename contains invalid characters');
В противном случае оставьте первый аргумент нулевым:
callback(null, 'fileNameHere');