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
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 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 la propiedad
alert
con un mensaje de advertencia dependiendo del valor demsg.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.