Kør kode
Handlingen Kør kode udfører JavaScript. Du kan overføre data fra tidligere trin i workflowet som input i handlingen Kør kode, og returværdier, der skal anvendes i de efterfølgende trin.
På denne side
Felter
Handlingen Kør kode indeholder følgende felter.
Felt | Beskrivelse |
---|---|
Input | Påkrævet. En GraphQL-forespørgsel om at bruge data fra tidligere trin som input i handlingen Kør kode. |
Output | Påkrævet. En gengivelse af de data, der returneres af handlingen, angivet i GraphQL Schema Definition Language (SDL). |
Kode | Påkrævet. Det JavaScript, som handlingen Kør kode vil udføre. |
Inputdata
Inputdata kan overføres fra trin, der ligger inden handlingen Kør kode. Hvis du vil inkludere disse data, kan du skrive en GraphQL-forespørgsel i feltet Input. De data, der returneres fra forespørgslen, er tilgængelige som input
-argumentet for funktionen, der er markeret med export default
. Du behøver ikke at håndtere sideskift eller at bruge edges
og nodes
i forespørgslen, da Flow gør det for dig.
Eksempel på et input, der får en ordrebemærkning og titlen på en varelinje:
Disse data konverteres til en input
-variabel, der kan bruges i koden:
Input kan også destruktureres i funktionssignaturen:
Outputdata
Handlingen Kør kode kan returnere tilpassede data. Hvis du vil definere den type af data, som koden returnerer, skal du bruge feltet Output og GraphQL Schema Definition Language (SDL). Hvis du f.eks. vil returnere en streng kaldet giftMessage
og et tal kaldet totalGifts
:
Kommentarerne er valgfrie, men de bruges til at beskrive dataene i Flows brugergrænseflade. Hvis du vil udlæse disse data i JavaScript-koden, skal du returnere et objekt, der matcher typen:
Du kan også definere en tilpasset type for at returnere mere komplekse data. Hvis du f.eks. vil returnere en type kaldet Gift
, der indeholder en streng kaldet message
og et tal kaldet amount
:
Hvis du vil tilgå disse data i trinnene efter denne handling, skal du bruge en variabel kaldet Kør kode, som skrives i henhold til det Output
-skema, du definerer i konfigurationen af handlingen Kør kode. Du kan både bruge denne variabel i betingelser og handlinger.
Eksempel
Du kan finde eksempler på Kør kode-handlingen i Flow-lageret med eksempler.
Begrænsninger
Handlingen Kør kode har følgende begrænsninger:
- Din kode kan ikke importere moduler.
- Din kode kan ikke foretage http-kald (
fetch
). - Din kode må ikke bruge
console.log
. - Tilfældige og klokkeslætsbaserede funktioner kan ikke anvendes. Datodata, som f.eks.
scheduledAt
ogcreatedAt
, kan overføres som et input.
Følgende begrænsninger håndhæves også:
- Forespørgslen for inputdata er begrænset til 5.000 tegn.
- Skemaet for outputdata er begrænset til 5.000 tegn.
- Nyttedata for outputdata er begrænset til 50 KB.
- Koden må ikke være længere end 50.000 tegn.
- Den samlede varighed for udførelse er begrænset til 5 sekunder.
- Hukommelsesforbruget er begrænset til 10 MB.
Køreplan
Flow-teamet planlægger at føje flere funktioner til Kør kode-handlingen med tiden. Nedenstående tabel angiver de planlagte forbedringer og deres forventede leveringsdatoer.
Forbedring | Beskrivelse | Forventet leveringsdato |
---|---|---|
Fejlrettelser | Fejlrettelser og oprydning | Februar 2024 |
Logføring | Brug `console.log` for at udlæse data til kørselsloggen for fejlfinding. | Først i april 2024 |
Eksterne API-kald | Brug JavaScripts fetch-kommando til at kalde API’er. | 3. kvartal 2024 |
Feedback
Handlingen Kør kode er en ny type trin i Shopify Flow. Hvis du har feedback eller spørgsmål, kan du kommentere på dette Flow-opslag i fællesskabet.