View a markdown version of this page

Fonctionnalités d'exécution prises en charge - AWS AppSync GraphQL

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Fonctionnalités d'exécution prises en charge

Les sections ci-dessous décrivent l'ensemble des fonctionnalités prises en charge par le runtime APPSYNC_JS.

Fonctions de base

Les fonctionnalités principales suivantes sont prises en charge.

Types

Les types suivants sont pris en charge :

  • nombres

  • chaînes

  • booléens

  • objects

  • tableaux

  • functions

Operators

Les opérateurs sont pris en charge, notamment :

  • opérateurs mathématiques standard (+-,/, %*,, etc.)

  • opérateur de fusion nul () ??

  • Chaînage optionnel () ?.

  • opérateurs au niveau du bit

  • voidet typeof opérateurs

  • opérateurs de diffusion (...)

Les opérateurs suivants ne sont pas pris en charge :

  • opérateurs unaires (++--, et~)

  • Opérateur in

    Note

    Utilisez l'Object.hasOwnopérateur pour vérifier si la propriété spécifiée se trouve dans l'objet spécifié.

Statements

Les déclarations suivantes sont prises en charge :

  • const

  • let

  • var

  • break

  • else

  • for-in

  • for-of

  • if

  • return

  • switch

  • syntaxe d'étalement

Les éléments suivants ne sont pas pris en charge :

  • catch

  • continue

  • do-while

  • finally

  • for(initialization; condition; afterthought)

    Note

    Les exceptions sont les for-of expressions for-in et, qui sont prises en charge.

  • throw

  • try

  • while

  • déclarations étiquetées

Literals

Les littéraux de modèle ES 6 suivants sont pris en charge :

  • Multi-line cordes

  • Interpolation d'expressions

  • Modèles d'imbrication

Functions

La syntaxe des fonctions suivante est prise en charge :

  • Les déclarations de fonctions sont prises en charge.

  • Les fonctions de flèche ES 6 sont prises en charge.

  • La syntaxe des paramètres de repos ES 6 est prise en charge.

Strict mode

Les fonctions opèrent en mode strict par défaut. Vous n’avez donc pas besoin d’ajouter une instruction use_strict dans votre code de fonction. Elles ne peuvent pas être modifiées.

Objets primitifs

Les objets primitifs suivants de ES et leurs fonctions sont pris en charge.

Object

Les objets suivants sont pris en charge :

  • Object.assign()

  • Object.entries()

  • Object.hasOwn()

  • Object.keys()

  • Object.values()

  • delete

String

Les chaînes suivantes sont prises en charge :

  • String.prototype.length()

  • String.prototype.charAt()

  • String.prototype.concat()

  • String.prototype.endsWith()

  • String.prototype.indexOf()

  • String.prototype.lastIndexOf()

  • String.raw()

  • String.prototype.replace()

    Note

    Les expressions régulières ne sont pas prises en charge.

    Cependant, les constructions d'expressions Java-styled régulières sont prises en charge dans le paramètre fourni. Pour plus d'informations, voir Pattern.

  • String.prototype.replaceAll()

    Note

    Les expressions régulières ne sont pas prises en charge.

    Cependant, les constructions d'expressions Java-styled régulières sont prises en charge dans le paramètre fourni. Pour plus d'informations, voir Pattern.

  • String.prototype.slice()

  • String.prototype.split()

  • String.prototype.startsWith()

  • String.prototype.toLowerCase()

  • String.prototype.toUpperCase()

  • String.prototype.trim()

  • String.prototype.trimEnd()

  • String.prototype.trimStart()

Number

Les numéros suivants sont pris en charge :

  • Number.isFinite

  • Number.isNaN

Built-in objets et fonctions

Les fonctions et objets suivants sont pris en charge.

Math

Les fonctions mathématiques suivantes sont prises en charge :

  • Math.random()

  • Math.min()

  • Math.max()

  • Math.round()

  • Math.floor()

  • Math.ceil()

Array

Les méthodes matricielles suivantes sont prises en charge :

  • Array.prototype.length

  • Array.prototype.concat()

  • Array.prototype.fill()

  • Array.prototype.flat()

  • Array.prototype.indexOf()

  • Array.prototype.join()

  • Array.prototype.lastIndexOf()

  • Array.prototype.pop()

  • Array.prototype.push()

  • Array.prototype.reverse()

  • Array.prototype.shift()

  • Array.prototype.slice()

  • Array.prototype.sort()

    Note

    Array.prototype.sort()ne soutient pas les arguments.

  • Array.prototype.splice()

  • Array.prototype.unshift()

  • Array.prototype.forEach()

  • Array.prototype.map()

  • Array.prototype.flatMap()

  • Array.prototype.filter()

  • Array.prototype.reduce()

  • Array.prototype.reduceRight()

  • Array.prototype.find()

  • Array.prototype.some()

  • Array.prototype.every()

  • Array.prototype.findIndex()

  • Array.prototype.findLast()

  • Array.prototype.findLastIndex()

  • delete

Console

L'objet console est disponible pour le débogage. Pendant l'exécution des requêtes en direct, les log/error instructions de console sont envoyées à Amazon CloudWatch Logs (si la journalisation est activée). Lors de l'évaluation du code avecevaluateCode, les instructions de journal sont renvoyées dans la réponse de commande.

  • console.error()

  • console.log()

Function
  • Les call méthodes applybind, et ne sont pas prises en charge.

  • Les constructeurs de fonctions ne sont pas pris en charge.

  • La transmission d'une fonction en argument n'est pas prise en charge.

  • Les appels de fonctions récursifs ne sont pas pris en charge.

JSON

Les méthodes JSON suivantes sont prises en charge :

  • JSON.parse()

    Note

    Renvoie une chaîne vide si la chaîne analysée n'est pas un JSON valide.

  • JSON.stringify()

Promises

Les processus asynchrones ne sont pas pris en charge et les promesses ne le sont pas.

Note

L'accès au réseau et au système de fichiers n'est pas pris en charge pendant l'APPSYNC_JSexécution de AWS AppSync. AWS AppSync gère toutes les I/O opérations en fonction des requêtes effectuées par le AWS AppSync résolveur ou la AWS AppSync fonction.

Globals

Les constantes globales suivantes sont prises en charge :

Types d’erreurs

L'envoi d'erreurs avec n'throwest pas pris en charge. Vous pouvez renvoyer une erreur en utilisant util.error() la fonction. Vous pouvez inclure une erreur dans votre réponse GraphQL à l'aide de cette util.appendError fonction.

Pour plus d'informations, consultez Error Utils.