Κλήση μιας ενέργειας από τον δικό σας κώδικα
Το ACTION(name, payload) επιστρέφει έναν καλούντα που εκτελεί την ενέργεια με όλη της την επικύρωση, ακριβώς σαν να ερχόταν από διαδρομή. Το δεύτερο όρισμα είναι το payload (η είσοδος). Αλυσιδώστε .query() και .user() για να της δώσετε περισσότερα δεδομένα και τελειώστε με .callback(function(err, response) {}) ή .promise() (χρησιμοποιήστε το με await). Όταν τα δεδομένα είναι άκυρα, το err είναι error builder αντί για εξαίρεση.
NEWACTION('Math/add', {
name: 'Add two numbers',
input: '*a:Number, *b:Number',
action: function($, model) {
$.callback({ sum: model.a + model.b });
}
});exports.install = function() {
ROUTE('GET /sum/', sum);
ROUTE('GET /sum-promise/', sum_promise);
};
function sum($) {
ACTION('Math/add', { a: '2', b: '3' }).callback(function(err, response) {
if (err)
$.invalid(err);
else
$.json(response);
});
}
async function sum_promise($) {
try {
var response = await ACTION('Math/add', { a: 10, b: 5 }).promise();
$.json(response);
} catch (err) {
$.invalid(400);
}
}