WebAssembly.Table.prototype.get()
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis octobre 2017.
La méthode get() du prototype de WebAssembly.Table() permet de récupérer l'élément stocké à un index donné.
Syntaxe
get(index)
Paramètres
index-
L'index de la référence de fonction qu'on souhaite récupérer.
Valeur de retour
Selon le type d'élément du tableau, cela peut être une référence de fonction — il s'agit d'une fonction WebAssembly exportée, d'une enveloppe JavaScript pour une fonction Wasm sous-jacente, ou d'une référence d'hôte.
Exceptions
Si index est supérieur ou égal à Table.prototype.length, la méthode lèvera une exception RangeError.
Exemples
>Utiliser la méthode get()
L'exemple suivant (voir table.html (angl.) sur GitHub, et le voir en direct (angl.) également) compile et instancie le code binaire « table.wasm » chargé à l'aide de la méthode WebAssembly.instantiateStreaming(). Il récupère ensuite les références stockées dans le tableau exporté.
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
});
Remarquez qu'il faut inclure un second opérateur d'appel de fonction à la fin de l'accesseur pour réellement obtenir la valeur stockée dans la référence (par exemple, get(0)() plutôt que get(0)) — il s'agit d'une fonction et non d'une simple valeur.
Spécifications
| Spécification |
|---|
| WebAssembly JavaScript Interface> # dom-table-get> |