Enchaîner plusieurs actions dans une route
Une route peut exécuter plusieurs actions : écrivez-les l'une après l'autre après -->. Elles s'exécutent dans l'ordre, reçoivent toutes le même payload, et la première erreur interrompt la chaîne. Ajoutez (response) après l'action dont le résultat doit être envoyé ; sans cela, la dernière action répond.
NEWACTION('Order/validate', {
name: 'Validate the order',
input: '*product:String, *quantity:Number',
action: function($, model) {
model.quantity > 0 ? $.success() : $.invalid('quantity');
}
});
NEWACTION('Order/save', {
name: 'Save the order',
input: '*product:String, *quantity:Number',
action: function($, model) {
$.callback({ id: 'order-1', product: model.product, quantity: model.quantity });
}
});exports.install = function() {
ROUTE('POST /order/ --> *Order/validate *Order/save (response)');
};