Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
WebAssembly.Instance()
Baseline Widely available
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.
Un objetWebAssembly.Instance représente un objet exécutable, avec un état, qui est une instance d'unmodule WebAssembly. Un objetInstance contient l'ensembledes fonctions WebAssembly exportées qui permettent d'invoquer du code WebAssembly depuis du code JavaScript.
Dans cet article
Constructeur
WebAssembly.Instance()Crée un nouvel objet
Instance.
Propriétés des instances
Instance.prototype.exportsRenvoie un objet dont les propriétés sont les fonctions exportées par l'instance de module WebAssembly afin qu'elles puissent être récupérées et utilisées en JavaScript. Cette propriété est uniquement accessible en lecture seule.
Exemples
>Instancier un module WebAssembly de façon synchrone
Le constructeurWebAssembly.Instance() peut être appelé afin d'instancier un objetWebAssembly.Module de façon synchrone. Par exemple :
const importObject = { imports: { imported_func: function (arg) { console.log(arg); }, },};fetch("simple.wasm") .then((response) => response.arrayBuffer()) .then((bytes) => { let mod = new WebAssembly.Module(bytes); let instance = new WebAssembly.Instance(mod, importObject); instance.exports.exported_func(); });La façon préconisée de récupérer un objetInstance est asynchrone, par exemple en utilisant la fonctionWebAssembly.instantiateStreaming() de cette façon :
const importObject = { imports: { imported_func: function (arg) { console.log(arg); }, },};WebAssembly.instantiateStreaming(fetch("simple.wasm"), importObject).then( (obj) => obj.instance.exports.exported_func(),);Cet exemple illustre également comment la propriétéexports est utilisée afin d'accéder aux fonctions exportées.
Spécifications
| Specification |
|---|
| WebAssembly JavaScript Interface> # instances> |