Saltar al contenido principal

Nodo function

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


Configuraciones para el nodo function

IMG2

1. Nombre

Un campo para especificar el nombre del nodo.
El nombre se muestra en el espacio 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

Este campo es donde se ingresa el código JavaScript, que se ejecutará para cada mensaje que pase a través del nodo.

Formato de Datos de Entrada:

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

Formato de Datos de Salida:

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

Ejemplo:

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

Ejemplos de Uso

Ejemplo 1: Multiplicando el 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: Agregando 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 una propiedad alert con un mensaje de advertencia dependiendo del valor de msg.payload.

Ejemplo 4: Filtrando mensajes

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

Descripción:

  • Solo pasa mensajes con msg.payload > 50, mientras que otros son detenidos.