Meteoro - Métodos

Los métodos Meteor son funciones que se escriben en el lado del servidor, pero que se pueden llamar desde el lado del cliente.

En el lado del servidor, crearemos dos métodos simples. El primero agregará 5 a nuestro argumento, mientras que el segundo agregará10.

Usando métodos

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);
      }
   });
}

Una vez que iniciemos la aplicación, veremos los valores calculados en la consola.

Manejo de errores

Para manejar errores, puede utilizar el Meteor.Errormétodo. El siguiente ejemplo muestra cómo manejar los errores para los usuarios que no han iniciado sesión.

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 consola mostrará nuestro mensaje de error personalizado.