Un objet WebAssembly.Instance
représente un objet exécutable, avec un état, qui est une instance d'un module WebAssembly. Un objet Instance
contient l'ensemble des fonctions WebAssembly exportées qui permettent d'invoquer du code WebAssembly depuis du code JavaScript.
Le constructeur WebAssembly.Instance()
peut être appelé afin de créer, de façon synchrone, une instance d'un WebAssembly.Module
donné. Toutefois, pour obtenir une instance, on utilisera généralement la fonction asynchrone WebAssembly.instantiateStreaming()
.
Syntaxe
Important : L'instanciation de modules volumineux peut être coûteuse en temps/ressource. Instance()
ne doit être utilisée que lorsqu'une instanciation synchrone est nécessaire. Pour tous les autres cas, c'est la méthode WebAssembly.instantiateStreaming()
qui devrait être utilisée.
var monInstance = new WebAssembly.Instance(module, importObject);
Paramètres
module
- L'objet
WebAssembly.Module
qu'on souhaite instancier. importObject
Facultatif- Un objet qui contient des valeurs à importer dans l'instance. Ce peuvent être des fonctions ou des objets
WebAssembly.Memory
. Il doit exister une propriété correspondante pour chaque import, si ce n'est pas le cas, un exceptionWebAssembly.LinkError
sera levée.
Instances d'Instance
Toutes les instances du type Instance
héritent du prototype du constructeur Instance()
. Celui-ci peut être modifié afin de modifier l'ensemble des instances de Instance
.
Propriétés
Instance.prototype.constructor
- Renvoie la fonction qui a créé l'instance de l'objet. Par défaut, c'est le constructeur
WebAssembly.Instance()
. Instance.prototype.exports
Lecture seule- Renvoie un objet dont les propriétés sont l'ensemble des fonctions exportées depuis l'instance du module WebAssembly. Cela permet d'y accéder et de les manipuler depuis du code JavaScript.
Méthodes
Aucune.
Spécifications
Spécification | État | Commentaires |
---|---|---|
WebAssembly JavaScript Interface La définition de 'Instance' dans cette spécification. |
Version de travail | Définition initiale dans un brouillon de spécification. |
Compatibilité des navigateurs
BCD tables only load in the browser