Saltar al contenido principal

Nodo function

El nodo function se utiliza para escribir código JavaScript personalizado, permitiendo realizar cálculos complejos, transformaciones de datos y lógica de procesamiento de mensajes. Proporciona flexibilidad para implementar lógica que no es compatible con los nodos estándar.


Configuraciones del nodo function

IMG2

1. Nombre

Campo para especificar el nombre del nodo.
El nombre se muestra en el área de trabajo y ayuda a identificar fácilmente el nodo.
Si se deja vacío, el nodo se llamará function.

Ejemplo:

  • Nombre del nodo: auth data

2. Función

En este campo se introduce el código JavaScript que se ejecutará para cada mensaje que pase a través del nodo.

Formato de los datos de entrada:

El código recibe un objeto msg, que representa el mensaje actual.

Formato de los datos devueltos:

  • El nodo debe devolver un objeto de mensaje (o un array de objetos) para pasar los datos más adelante en el flujo.
  • Si se devuelve null, el mensaje no se enviará más adelante.

Ejemplo:

// Aumentar el valor de msg.payload en 1
msg.payload = msg.payload + 1;
return msg;

Ejemplos de uso

Ejemplo 1: Multiplicación del valor en msg.payload

msg.payload = msg.payload * 2;
return msg;

Descripción:

  • Toma el valor de msg.payload, lo multiplica por 2 y envía el objeto actualizado.

Ejemplo 2: Agregar una nueva propiedad

msg.newProperty = "¡Hola, Mundo!";
return msg;

Descripción:

  • Crea una nueva propiedad newProperty y la agrega al objeto msg.

Ejemplo 3: Procesamiento condicional de mensajes

if (msg.payload > 100) {
msg.alert = "¡Valor alto detectado!";
} else {
msg.alert = "El valor es normal.";
}
return msg;

Descripción:

  • Agrega la propiedad alert con un mensaje de advertencia dependiendo del valor de msg.payload.

Ejemplo 4: Filtrado de mensajes

if (msg.payload > 50) {
return msg; // Pasar el mensaje más adelante
}
return null; // Detener el mensaje

Descripción:

  • Permite pasar mensajes solo con msg.payload > 50, los demás se detienen.