WebAssembly.Table.prototype.get()

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 get() Prototyp-Methode des WebAssembly.Table()-Objekts ruft das Element ab, das an einem gegebenen Index gespeichert ist.

Syntax

js
get(index)

Parameter

index

Der Index des Elements, das Sie abrufen möchten.

Rückgabewert

Abhängig vom Elementtyp der Tabelle kann dies eine Funktionsreferenz sein — das ist eine exportierte WebAssembly-Funktion, ein JavaScript-Wrapper für eine zugrunde liegende Wasm-Funktion oder es kann eine Host-Referenz sein.

Ausnahmen

Wenn index größer oder gleich Table.prototype.length ist, wird ein RangeError ausgelöst.

Beispiele

Verwendung von get

Das folgende Beispiel (siehe table.html auf GitHub, und sehen Sie es live ebenfalls) kompiliert und instanziiert den geladenen table.wasm-Bytecode mit der Methode WebAssembly.instantiateStreaming(). Anschließend ruft es die in der exportierten Tabelle gespeicherten Referenzen ab.

js
WebAssembly.instantiateStreaming(fetch("table.wasm")).then((obj) => {
  const tbl = obj.instance.exports.tbl;
  console.log(tbl.get(0)()); // 13
  console.log(tbl.get(1)()); // 42
});

Beachten Sie, dass Sie einen zweiten Funktionsaufrufsoperator am Ende des Zugriffsoperators hinzufügen müssen, um tatsächlich den Wert abzurufen, der in der Referenz gespeichert ist (z. B. get(0)() anstelle von get(0)), da es sich um eine Funktion und nicht um einen einfachen Wert handelt.

Spezifikationen

Specification
WebAssembly JavaScript Interface
# dom-table-get

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch