Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Unterstützte Runtime-Funktionen
In den folgenden Abschnitten werden die unterstützten Funktionen der APPSYNC_JS-Laufzeit beschrieben.
Kern-Features
Die folgenden Kernfunktionen werden unterstützt.
- Types
-
Die folgenden Typen werden unterstützt:
-
Ziffern
-
Zeichenfolgen
-
Boolesche Werte
-
objects
-
Arrays
-
Funktionen
-
- Operators
-
Operatoren werden unterstützt, darunter:
-
mathematische Standardoperatoren (
+-/,%,*,, usw.) -
Koaleszenzoperator () auf Null setzen
?? -
Optionale Verkettung ()
?. -
bitweise Operatoren
-
voidund Operatorentypeof -
Spread-Operatoren (
...)
Die folgenden Operatoren werden nicht unterstützt:
-
unäre Operatoren (
++--, und~) -
in-OperatorAnmerkung
Verwenden Sie den
Object.hasOwnOperator, um zu überprüfen, ob sich die angegebene Eigenschaft im angegebenen Objekt befindet.
-
- Statements
-
Die folgenden Anweisungen werden unterstützt:
-
const -
let -
var -
break -
else -
for-in -
for-of -
if -
return -
switch -
Spread-Syntax
Folgendes wird nicht unterstützt:
-
catch -
continue -
do-while -
finally -
for(initialization; condition; afterthought)Anmerkung
Die Ausnahmen sind
for-inundfor-ofAusdrücke, die unterstützt werden. -
throw -
try -
while -
beschriftete Aussagen
-
- Literals
-
Die folgenden ES 6-Vorlagenliterale
werden unterstützt: -
Mehrzeilige Zeichenketten
-
Interpolation von Ausdrücken
-
Verschachtelte Vorlagen
-
- Functions
-
Die folgende Funktionssyntax wird unterstützt:
-
Funktionsdeklarationen werden unterstützt.
-
ES 6-Pfeilfunktionen werden unterstützt.
-
Die ES 6-Restparameter-Syntax wird unterstützt.
-
- Strict mode
-
Funktionen arbeiten standardmäßig im strikten Modus, sodass Sie Ihrem Funktionscode keine
use_strict-Anweisung hinzufügen müssen. Dies können nicht geändert werden.
Primitive Objekte
Die folgenden primitiven Objekte von ES und ihre Funktionen werden unterstützt.
- Object
-
Die folgenden Objekte werden unterstützt:
-
Object.assign() -
Object.entries() -
Object.hasOwn() -
Object.keys() -
Object.values() -
delete
-
- String
-
Die folgenden Zeichenketten werden unterstützt:
-
String.prototype.length() -
String.prototype.charAt() -
String.prototype.concat() -
String.prototype.endsWith() -
String.prototype.indexOf() -
String.prototype.lastIndexOf() -
String.raw() -
String.prototype.replace()Anmerkung
Reguläre Ausdrücke werden nicht unterstützt.
Konstrukte regulärer Ausdrücke im Java-Stil werden jedoch im angegebenen Parameter unterstützt. Weitere Informationen finden Sie unter Muster.
-
String.prototype.replaceAll()Anmerkung
Reguläre Ausdrücke werden nicht unterstützt.
Konstrukte regulärer Ausdrücke im Java-Stil werden jedoch im angegebenen Parameter unterstützt. Weitere Informationen finden Sie unter Muster.
-
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
-
Die folgenden Zahlen werden unterstützt:
-
Number.isFinite -
Number.isNaN
-
Integrierte Objekte und Funktionen
Die folgenden Funktionen und Objekte werden unterstützt.
- Math
-
Die folgenden mathematischen Funktionen werden unterstützt:
-
Math.random() -
Math.min() -
Math.max() -
Math.round() -
Math.floor() -
Math.ceil()
-
- Array
-
Die folgenden Array-Methoden werden unterstützt:
-
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()Anmerkung
Array.prototype.sort()unterstützt keine Argumente. -
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
-
Das Konsolenobjekt ist zum Debuggen verfügbar. Während der Live-Abfrageausführung werden log/error Konsolenanweisungen an Amazon CloudWatch Logs gesendet (sofern die Protokollierung aktiviert ist). Während der Codeauswertung mit
evaluateCodewerden Protokollanweisungen in der Befehlsantwort zurückgegeben.-
console.error() -
console.log()
-
- Function
-
-
Die
callMethodenapplybind, und werden nicht unterstützt. -
Funktionskonstruktoren werden nicht unterstützt.
-
Die Übergabe einer Funktion als Argument wird nicht unterstützt.
-
Rekursive Funktionsaufrufen werden nicht unterstützt.
-
- JSON
-
Die folgenden JSON-Methoden werden unterstützt:
-
JSON.parse()Anmerkung
Gibt eine leere Zeichenfolge zurück, wenn die analysierte Zeichenfolge kein gültiges JSON ist.
-
JSON.stringify()
-
- Promises
-
Asynchrone Prozesse werden nicht unterstützt, und Promises werden nicht unterstützt.
Anmerkung
Der Netzwerk- und Dateisystemzugriff wird in der
APPSYNC_JSRuntime in AWS AppSync nicht unterstützt. AWS AppSync verarbeitet alle I/O-Operationen, die auf den vom AWS AppSync Resolver oder der AWS AppSync Funktion gestellten Anforderungen basieren.
Globale
Die folgenden globalen Konstanten werden unterstützt:
-
NaN -
Infinity -
undefined
Arten von Fehlern
Das Auslösen von Fehlern mit throw wird nicht unterstützt. Sie können einen Fehler zurückgeben, indem Sie die util.error() Funktion verwenden. Sie können einen Fehler in Ihre GraphQL-Antwort aufnehmen, indem Sie die util.appendError Funktion verwenden.
Weitere Informationen finden Sie unter Error utils.