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.
La méthode get()
, rattachéee au prototype de WebAssembly.Table()
, permet de récupérer une référence à une fonction stockée dans le tableau WebAssembly grâce à sa position. dans le tableau.
Syntaxe
var funcRef = table.get(index);
Paramètres
index
-
L'index de la référence de fonction qu'on souhaite récupérer.
Valeur de retour
Une référence de fonction, c'est-à-dire une fonction WebAssembly exportée qui est une enveloppe JavaScript pour manipuler la fonction WebAssembly sous-jacente.
Exceptions
Si index
est supérieur ou égal à Table.prototype.length
, la méthode lèvera une exception RangeError
.
Exemples
Dans l'exemple suivant (cf. le fichier table.html
sur GitHub ainsi que le résultat obtenu), on compile et on instancie le bytecode chargé, table.wasm
, grâce à la méthode WebAssembly.instantiateStreaming()
. On récupère ensuite les références stockées dans le tableau d'export.
WebAssembly.instantiateStreaming(fetch("table.wasm")).then(function (obj) {
var tbl = obj.instance.exports.tbl;
console.log(tbl.get(0)()); // 13
console.log(tbl.get(1)()); // 42
});
On note ici qu'il est nécessaire d'avoir un deuxième opérateur d'appel après l'accesseur pour récupérer le valeur stockée dans la référence (autrement dit, on utilise get(0)()
plutôt que get(0)
). La valeur exportée est une fonction plutôt qu'une valeur simple.
Spécifications
Specification |
---|
WebAssembly JavaScript Interface # dom-table-get |
Compatibilité des navigateurs
BCD tables only load in the browser