ForgeTotal.js 5
nl

Total.js 5

Meerdere acties in één route koppelen

Total.js 5 · total5@0.0.19 actionsrouting Uitgevoerd met Total.js 5

Een route kan meer dan één actie uitvoeren: schrijf ze achter elkaar na -->. Ze draaien op volgorde, elke actie krijgt dezelfde payload en de eerste fout stopt de keten. Voeg (response) toe na de actie waarvan het resultaat verstuurd moet worden; zonder antwoordt de laatste actie.

definitions/order.js
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 });
	}
});
controllers/order.js
exports.install = function() {
	ROUTE('POST /order/ --> *Order/validate *Order/save (response)');
};