[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/WebAssembly/Reference/JavaScript_interface [Back]  [Original]

WebAssembly - WebAssembly | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

WebAssembly

Baseline
Large disponibilit
*

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.

* Certaines parties de cette fonctionnalit peuvent bnficier de prise en charge variables.

L'objet JavaScript WebAssembly sert d'espace de noms pour toutes les fonctionnalits lies WebAssembly.

la diffrence des autres objets globaux, WebAssembly n'est pas un constructeur (ce n'est pas un objet fonction). Vous pouvez le comparer Math, qui est galement un objet espace de noms pour les constantes et fonctions mathmatiques, ou Intl, qui est l'objet espace de noms pour les constructeurs d'internationalisation et autres fonctions sensibles la langue.

Dans cet article

Description

L'objet WebAssembly est notamment utilis pour :

Interfaces

WebAssembly.CompileError

Indique une erreur lors du dcodage ou de la validation de WebAssembly.

WebAssembly.Global

Reprsente une instance de variable globale, accessible la fois depuis JavaScript et importable/exportable entre une ou plusieurs instances de WebAssembly.Module. Cela permet le lien dynamique de plusieurs modules.

WebAssembly.Instance

Est une instance excutable et avec tat d'un WebAssembly.Module

WebAssembly.LinkError

Indique une erreur lors de l'instanciation d'un module (autre que les piges de capture (angl.) de la fonction de dmarrage).

WebAssembly.Memory

Un objet dont la proprit buffer est un objet ArrayBuffer redimensionnable qui contient les octets bruts de la mmoire accessible par une Instance WebAssembly.

WebAssembly.Module

Contient du code WebAssembly sans tat qui a dj t compil par le navigateur et peut tre efficacement partag avec des Workers, et instanci plusieurs fois.

WebAssembly.RuntimeError

Type d'erreur qui est lev chaque fois que WebAssembly dfinit un pige (angl.).

WebAssembly.Table

Une structure de type tableau reprsentant une table WebAssembly, qui stocke des rfrences (angl.), telles que des rfrences de fonctions.

WebAssembly.Tag

Un objet qui reprsente un type d'exception WebAssembly.

WebAssembly.Exception

Un objet d'exception WebAssembly qui peut tre lev, captur et relanc la fois l'intrieur et travers les frontires WebAssembly/JavaScript.

Mthodes statiques

WebAssembly.compile()

Compile un WebAssembly.Module partir de code binaire WebAssembly, laissant l'instanciation comme une tape spare.

WebAssembly.compileStreaming()

Compile un WebAssembly.Module directement partir d'une source sous-jacente en flux, laissant l'instanciation comme une tape spare.

WebAssembly.instantiate()

L'API principale pour compiler et instancier du code WebAssembly, retournant la fois un Module et sa premire Instance.

WebAssembly.instantiateStreaming()

Compile et instancie directement un module WebAssembly partir d'une source sous-jacente en flux, retournant la fois un Module et sa premire Instance.

WebAssembly.validate()

Valide un tableau typ donn de code binaire WebAssembly, renvoyant true si les octets sont un code WebAssembly valide ou false sinon.

Exemples

Diffuser un module WebAssembly puis le compiler et l'instancier

L'exemple suivant (voir notre dmonstration instantiate-streaming.html (angl.) sur GitHub, et la voir en direct (angl.) galement) diffuse directement un module WebAssembly depuis une source sous-jacente, puis le compile et l'instancie, la promesse tant rsolue en un ResultObject. Comme la fonction instantiateStreaming() accepte une promesse pour un objet Response, vous pouvez lui passer directement un appel fetch(), et elle transmettra la rponse la fonction lorsque la promesse sera rsolue.

js
const importObject = {
  my_namespace: { imported_func: (arg) => console.log(arg) },
};

WebAssembly.instantiateStreaming(fetch("simple.wasm"), importObject).then(
  (obj) => obj.instance.exports.exported_func(),
);

On accde ensuite la proprit .instance du ResultObject, puis on invoque la fonction exporte qu'elle contient.

Spcifications

Spcification
WebAssembly JavaScript Interface
# webassembly-namespace

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page