WebAssembly.Instance.prototype.exports

La propriété exports du prototype de WebAssembly.Instance est une propriété en lecture seul qui renvoie un objet dont les propriétés sont les différentes fonctions exportées depuis l'instance du module WebAssembly. Cela permet d'y accéder et de les manipuler en JavaScript.

instance.exports

Exemples

Après avoir récupéré le bytecode WebAssembly grâce à la méthode fetch(), on le compile et on instancie le module grâce à la fonction WebAssembly.instantiateStreaming(). Lorsqu'on utilise cette fonction, on importe une fonction dans le module. Ensuite, on appelle une fonction WebAssembly exportée qui est exposée via l'instance.

var importObject = {
  imports: {
    imported_func: function(arg) {
      console.log(arg);
    }
  }
};
WebAssembly.instantiateStreaming(fetch('simple.wasm'), importObject)
.then(obj => obj.instance.exports.exported_func());

Note : Voir le fichier index.html sur GitHub (ainsi que la démonstration) pour un exemple.

Spécifications

Spécification État Commentaires
WebAssembly JavaScript Interface
La définition de 'WebAssembly.Instance objects' dans cette spécification.
Version de travail Brouillon de définition initiale 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,