Meteor - Méthodes

Les méthodes Meteor sont des fonctions écrites côté serveur, mais qui peuvent être appelées côté client.

Côté serveur, nous allons créer deux méthodes simples. Le premier ajoutera 5 à notre argument, tandis que le second ajoutera10.

Utiliser des méthodes

meteorApp.js

if(Meteor.isServer) {

   Meteor.methods({

      method1: function (arg) {
         var result = arg + 5;
         return result;
      },

      method2: function (arg) {
         var result = arg + 10;
         return result;
      }
   });
}

if(Meteor.isClient) {
   var aaa = 'aaa'
   Meteor.call('method1', aaa, function (error, result) {
	
      if (error) {
         console.log(error);
         else {
            console.log('Method 1 result is: ' + result);
         }
      }
   );

   Meteor.call('method2', 5, function (error, result) {

      if (error) {
         console.log(error);
      } else {
         console.log('Method 2 result is: ' + result);
      }
   });
}

Une fois l'application lancée, nous verrons les valeurs calculées dans la console.

Traitement des erreurs

Pour la gestion des erreurs, vous pouvez utiliser le Meteor.Errorméthode. L'exemple suivant montre comment gérer l'erreur pour les utilisateurs qui ne sont pas connectés.

if(Meteor.isServer) {

   Meteor.methods({

      method1: function (param) {

         if (! this.userId) {
            throw new Meteor.Error("logged-out",
               "The user must be logged in to post a comment.");
         }
         return result;
      }
   });
}

if(Meteor.isClient) {  Meteor.call('method1', 1, function (error, result) {

   if (error && error.error === "logged-out") {
      console.log("errorMessage:", "Please log in to post a comment.");
   } else {
      console.log('Method 1 result is: ' + result);
   }});

}

La console affichera notre message d'erreur personnalisé.