Code ausführen
Die Aktion Code ausführen führt JavaScript aus. Du kannst Daten aus früheren Schritten im Workflow als Eingabe an die Aktion Code ausführen weitergeben und Werte zurückgeben, die in nachfolgenden Schritten verwendet werden sollen.
Auf dieser Seite
Felder
Die Aktion Code ausführen enthält die folgenden Felder.
Feld | Beschreibung |
---|---|
Eingabe | Erforderlich. Eine GraphQL-Abfrage zur Verwendung von Daten aus vorherigen Schritten als Eingabe für die Aktion Code ausführen. |
Ausgabe | Erforderlich. Eine Darstellung der Daten, die von der Aktion zurückgegeben werden sollen, definiert in der Schema Definition Language (SDL) von GraphQL. |
Code | Erforderlich. Das JavaScript, das die Aktion Code ausführen ausführen wird. |
Eingabedaten
Eingabedaten können aus Schritten übergeben werden, die vor der Aktion Code ausführen stattfinden. Um diese Daten einzubeziehen, kannst du eine GraphQL-Abfrage in das Feld Eingabe schreiben. Die von der Abfrage zurückgegebenen Daten sind als input
für die mit export default
gekennzeichnete Funktion verfügbar. Du musst das Paging nicht handhaben oder edges
und nodes
in der Abfrage verwenden, da Flow diese für dich handhabt.
Eine Beispieleingabe, die eine Bestellnotiz und den Titel einer Position erhält:
Diese Daten werden in einen input
-Wert umgewandelt, die im Code verwendet werden kann:
Eingaben können auch in der Unterschrift der Funktion destrukturiert werden:
Ausgabedaten
Die Aktion Code ausführen kann benutzerdefinierte Daten zurückgeben. Um die Art der Daten zu definieren, die der Code zurückgeben wird, verwende das Feld Ausgabe und GraphQL Schema Definition Language (SDL). Um z. B. einen String namens "giftMessage
" und eine Zahl namens "totalGifts
" zurückzugeben:
Die Kommentare sind optional, werden aber zur Beschreibung der Daten in der Flow-Benutzeroberfläche verwendet. Um diese Daten im JavaScript-Code ausgeben zu können, gib ein Objekt zurück, das mit dem Typ übereinstimmt:
Du kannst auch einen benutzerdefinierten Typ definieren, um komplexere Daten zurückzugeben. Um z. B. einen Typ namens "Gift
", der einen String namens "message
" und eine Zahl namens "amount
" zurückzugeben:
Um in den Schritten, die auf diese Aktion folgen, auf diese Daten zuzugreifen, verwende die Variable Code ausführen, die entsprechend dem Output
-Schema, das Sie in der Konfiguration der Aktion Code ausführen definieren, eingegeben wird. Du kannst diese Variable sowohl in Bedingungen als auch in Aktionen verwenden.
Beispiel
Beispiele für die Aktion "Code ausführen" können im Flow-Beispiel-Repository gefunden werden.
Einschränkungen
Die Aktion Code ausführen hat folgende Einschränkungen:
- Dein Code kann keine Modules importieren.
- Dein Code kann keine HTTP-Aufrufe tätigen (
fetch
). - Der Code kann
console.log
nicht verwenden. - Zufällige und taktbasierende Funktionen können nicht benutzt werden. Datumsdaten wie
scheduledAt
odercreatedAt
können als Eingabe eingefügt werden.
Darüber hinaus gelten folgende Einschränkungen zwingend:
- Die Eingabedaten-Abfrage ist auf 5000 Zeichen begrenzt.
- Das Ausgabedaten-Schema ist auf 5000 Zeichen begrenzt.
- Die Ausgabedaten-Nutzlast ist auf 50 kb begrenzt.
- Code darf nicht länger als 50 000 Zeichen sein.
- Die Gesamtausführungsdauer ist auf 5 Sekunden begrenzt.
- Die Speichernutzung ist auf 10 MB begrenzt.
Roadmap
Das Flow-Team plant, die Aktion Code ausführen im Laufe der Zeit um weitere Funktionen zu erweitern. Die folgende Tabelle beschreibt die geplanten Verbesserungen und deren geschätzte Lieferdaten.
Verbesserung | Beschreibung | Voraussichtliche Zustellung |
---|---|---|
Fehlerlösungen | Fehlerbehebungen und Bereinigung | Februar 2024 |
Protokollierung | "console.log" verwenden, um Daten aus dem Protokoll zur Fehlerbehebung ausgeben zu können. | Anfang April 2024 |
Externe API-Aufrufe | Verwende den Fetch von JavaScript, um APIs aufrufen zu können. | Q3 2024 |
Feedback
Die Aktion "Code ausführen" ist ein neuer Schritt in Shopify Flow. Wenn du Feedback und Fragen hast, dann hinterlasse bitte ein Kommentar zu diesem Flow-Community-Beitrag.