WebAssembly.Table.prototype.grow()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.
Die grow()
-Prototyp-Methode des WebAssembly.Table
-Objekts erhöht die Größe der Table
-Instanz um eine angegebene Anzahl von Elementen, die mit dem bereitgestellten Wert gefüllt sind.
Syntax
grow(delta)
grow(delta, value)
Parameter
delta
-
Die Anzahl der Elemente, um die Sie die Tabelle vergrößern möchten.
value
Optional-
Das Element, mit dem der neu zugewiesene Speicherplatz gefüllt werden soll.
Rückgabewert
Die vorherige Länge der Tabelle.
Ausnahmen
RangeError
-
Wird in einem der folgenden Fälle ausgelöst:
- Wenn die aktuelle Größe plus
delta
die maximale Kapazität der Table-Instanz überschreitet. - Wenn der Client nicht über genügend Speicher für die Zuordnung verfügt.
- Wenn die aktuelle Größe plus
TypeError
-
Wird ausgelöst, wenn
value
kein Wert des Elementtyps der Tabelle ist.
Beispiele
Verwendung von grow
Im folgenden Beispiel wird eine neue WebAssembly-Tabelle mit einer Anfangsgröße von 2 und einer Maximalgröße von 10 erstellt:
const table = new WebAssembly.Table({
element: "anyfunc",
initial: 2,
maximum: 10,
});
Vergrößern Sie die Tabelle um 1 Element mit Table.grow()
:
console.log(table.length); // 2
table.grow(1);
console.log(table.length); // 3
Verwendung von grow mit einem Wert
Im folgenden Beispiel wird eine neue WebAssembly-Table
-Instanz mit einer Anfangsgröße von 0 und einer Maximalgröße von 4 erstellt und mit einem Objekt gefüllt:
const myObject = { hello: "world" };
const table = new WebAssembly.Table({
element: "externref",
initial: 0,
maximum: 4,
});
Vergrößern Sie die Tabelle um 4 Einheiten und füllen Sie sie mit einem Wert unter Verwendung von WebAssembly.grow()
:
table.grow(4, myObject);
console.log(myObject === table.get(2)); // true
Spezifikationen
Specification |
---|
WebAssembly JavaScript Interface # dom-table-grow |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- WebAssembly Übersichtsseite
- WebAssembly-Konzepte
- Verwendung der WebAssembly-JavaScript-API