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
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 objetomsg
.
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 demsg.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.