Zum Hauptinhalt springen
Code

Überblick

Der Code-Node ermöglicht es dir, benutzerdefinierten JavaScript-Code zu schreiben, um Daten zu transformieren, Berechnungen durchzuführen, komplexe Logik zu implementieren oder Aufgaben zu handhaben, die andere Nodes nicht können.
Am besten für: Datentransformationen, Berechnungen, benutzerdefinierte Geschäftslogik, Datenformatierung und komplexe Datenmanipulation.

Wann du den Code-Node verwenden solltest

Perfekt für:
  • Datentransformationen und Formatierung
  • Mathematische Berechnungen
  • Benutzerdefinierte Geschäftslogik
  • JSON-Parsing und Manipulation
  • Datenvalidierung und -bereinigung
  • Datums-/Zeitoperationen
Nicht ideal für:
  • KI-Analyse (verwende Agent-Node)
  • API-Aufrufe (verwende HTTP-Request-Node)
  • Einfache Bedingungen (verwende Condition-Node)

Konfiguration

Code-Editor: Schreibe deine JavaScript-Transformationslogik Auf vorherige Nodes zugreifen: Alle vorherigen Node-Outputs sind als Variablen verfügbar

Beispiele

Statistiken berechnen

// Zugriff auf Daten von vorherigen Nodes
const scores = agent.scores || [];

// Statistiken berechnen
const average = scores.reduce((a, b) => a + b, 0) / scores.length;
const max = Math.max(...scores);
const min = Math.min(...scores);

// Ergebnis zurückgeben
return {
  average_score: average.toFixed(2),
  highest_score: max,
  lowest_score: min,
  grade: average >= 90 ? "A" : average >= 80 ? "B" : "C"
};

Daten validieren und bereinigen

// Zugriff auf Formulardaten
const email = trigger.email || "";
const amount = trigger.amount || 0;

// Validieren
if (!email.includes("@")) {
  throw new Error("Ungültiges E-Mail-Format");
}

if (amount <= 0) {
  throw new Error("Betrag muss größer als null sein");
}

// Bereinigen und zurückgeben
return {
  email: email.trim().toLowerCase(),
  amount: parseFloat(amount.toFixed(2)),
  validated: true
};

Auf Code-Output zugreifen

Verwende den Code-Node-Namen, um auf zurückgegebene Werte in nachfolgenden Nodes zuzugreifen:
{{code_node_name.output.customer}}
{{code_node_name.output.total}}
{{code_node_name.output.formatted_date}}
{{code_node_name.output.processed_items[0].name}}

Best Practices

Gib Daten als Objekte zurück für einfachen Zugriff in späteren Nodes. Das macht es einfach, spezifische Werte in nachfolgenden Nodes mit Punkt-Notation zu referenzieren.
Verwende || oder Optional Chaining, um Standardwerte bereitzustellen und Fehler zu verhindern, wenn Daten undefined oder null sind.
Umschließe riskante Operationen in Try-Catch-Blöcken, um Workflow-Fehler zu verhindern. Das ermöglicht es dir, Fehler elegant zu behandeln und aussagekräftige Fehlermeldungen bereitzustellen.
Komplexe Logik könnte in einem Agent-Node besser aufgehoben sein. Verwende Code-Nodes für unkomplizierte Transformationen und Berechnungen, nicht für Aufgaben, die Intelligenz oder Kontextverständnis erfordern.
Dokumentiere, was dein Code macht, für zukünftige Referenz. Klare Kommentare helfen dir und deinem Team, die Logik zu verstehen, wenn der Workflow später erneut besucht wird.

Nächste Schritte