function Düğümü
function düğümü, karmaşık hesaplamalar, veri dönüşümleri ve mesaj işleme mantığı gerçekleştirmek için özel JavaScript kodu yazmak amacıyla kullanılır. Standart düğümler tarafından desteklenmeyen mantığı uygulamak için esneklik sağlar.
function Düğüm Ayarları

1. İsim
Düğümün adını belirtmek için bir alan.
İsim, çalışma alanında görüntülenir ve düğümü kolayca tanımlamaya yardımcı olur.
Boş bırakılırsa, düğüm function olarak adlandırılacaktır.
Örnek:
- Düğüm adı:
auth data
2. Fonksiyon
Bu alana, düğümden geçen her mesaj için çalıştırılacak JavaScript kodu girilir.
Girdi Verileri Formatı:
Kod, mevcut mesajı temsil eden msg nesnesini alır.
Dönen Veriler Formatı:
- Düğüm, verileri akışta daha ileriye iletmek için bir mesaj nesnesi (veya nesne dizisi) döndürmelidir.
nulldönerse, mesaj daha ileriye iletilmeyecektir.
Örnek:
// msg.payload değerini 1 artırma
msg.payload = msg.payload + 1;
return msg;
3. Çıktı Örneği (JSON)
Fonksiyonun döndürdüğü verilerin JSON formatındaki örneği.
Bu örnek, bir sonraki düğüm için veri şemasını oluşturur — alanları, bir sonraki düğümün Girdi Şeması bloğunda görünür. Editör, örneği fonksiyon kodu ile karşılaştırır.
Örnek alanları, msg.payload değil, msg nesnesinin kökünü tanımlar: fonksiyon, mesajı tamamen döndürür.
Örnek ayrıca test verileri olarak da hizmet eder: Eğer Execute butonuna basıldığında bir sonraki düğümlerden birinde (admin-api, http request) fonksiyon verileri iletmezse, bu alanın değeri kullanılır.
Örnek:
{
"payload": {
"orderId": 123,
"status": "paid"
}
}
Kullanım Örnekleri
Örnek 1: msg.payload değerini çarpma
msg.payload = msg.payload * 2;
return msg;
Açıklama:
msg.payloaddeğerini alır, 2 ile çarpar ve güncellenmiş nesneyi gönderir.
Örnek 2: Yeni bir özellik ekleme
msg.newProperty = "Merhaba, Dünya!";
return msg;
Açıklama:
newPropertyadında yeni bir özellik oluşturur ve bunumsgnesnesine ekler.
Örnek 3: Mesajları koşullu işleme
if (msg.payload > 100) {
msg.alert = "Yüksek değer tespit edildi!";
} else {
msg.alert = "Değer normal.";
}
return msg;
Açıklama:
msg.payloaddeğerine bağlı olarak bir uyarı metni ilealertözelliğini ekler.
Örnek 4: Mesajları filtreleme
if (msg.payload > 50) {
return msg; // Mesajı daha ileriye ilet
}
return null; // Mesajı durdur
Açıklama:
- Sadece
msg.payload > 50olan mesajları geçirir, diğerleri durdurulur.