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 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

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

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari pour iOSSamsung InternetNode.js
Support simpleChrome Support complet 57Edge Support complet 16Firefox Support complet 52
Notes
Support complet 52
Notes
Notes Disabled in the Firefox 52 Extended Support Release (ESR).
IE Aucun support NonOpera Support complet 44Safari Support complet 11WebView Android Support complet 57Chrome Android Support complet 57Edge Mobile Support complet Oui
Désactivée
Support complet Oui
Désactivée
Désactivée This feature is behind the Experimental JavaScript Features preference.
Firefox Android Support complet 52
Notes
Support complet 52
Notes
Notes Disabled in the Firefox 52 Extended Support Release (ESR).
Opera Android ? Safari iOS Support complet 11Samsung Internet Android Support complet 7.0nodejs Support complet 8.0.0

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue
Voir les notes d'implémentation.
Voir les notes d'implémentation.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.

Voir aussi

Étiquettes et contributeurs liés au document

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