WebAssembly.Table.prototype.get()

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 qui suit (tiré de table.html sur GitHub et qui possède une démonstration), on compile et on instancie le bytecode table.wasm grâce à la méthode utilitaire fetchAndInstantiate(). Ensuite , on récupère les références dans le tableau qui est exporté.

fetchAndInstantiate('table.wasm').then(function(instance) {
  var tbl = instance.exports.tbl;
  console.log(tbl.get(0)());  // 13
  console.log(tbl.get(1)());  // 42
});

On voit ici qu'il faut ajouter des parenthèses après l'appel de get() pour invoquer la fonction obtenue (autrement dit, on doit écrire get(0)() plutôt que get(0)) car get() fournit une fonction plutôt que le résultat de celle-ci.

Spécifications

Spécification État Commentaires
WebAssembly JavaScript API
La définition de 'get()' dans cette spécification.
Projet Brouillon de définition initial pour WebAssembly.

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple5716522 Non4411
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Support simple5757 Oui1522 Non ?11

1. This feature is behind the Experimental JavaScript Features preference.

2. Disabled in the Firefox 52 Extended Support Release (ESR).

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,