Dans l'extrait suivant, je souhaite valider les champs de la première méthode asynchrone.Traitement des erreurs avec Node.js, Async et Formidable
Si elles ne sont pas valides, je voudrais retourner une erreur à l'utilisateur immédiatement.
Comment faire cela?
var form = new formidable.IncomingForm();
async1.series([
function (callback) {
form.parse(req);
form.on('field', function (name, val) {
// Get the fields
});
form.on('fileBegin', function (name, file) {
if (file.name !== "") {
file.path = __dirname + '/upload/' + file.name;
}
});
callback();
},
function (callback) {
form.on('file', function (name, file) {
try {
// Do something with the file using the fields retrieved from first async method
}
catch (err) {
logger.info(err);
}
});
callback();
}
], function (err) {
//the upload failed, there is nothing we can do, send a 500
if (err === "uploadFailed") {
return res.send(500);
}
if (err) {
throw err;
}
return res.status(200);
});
Vous pouvez retourner le rappel avec une erreur 'rappel de retour (err)' immédiatement à partir du si bloc où vous vérifiez le champ, que le rappel sera directement exécuter votre 'gestionnaire de rappel function' où vous envoyez' code de réponse ». – Zeeshan