diff options
author | SphinxKnight <SphinxKnight@users.noreply.github.com> | 2021-12-21 08:46:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-21 08:46:38 +0100 |
commit | f755ec1090fa10c62f91b170ae2dcc578a05d439 (patch) | |
tree | ef09f1ac5579483d4f296a1f30b1b0bbdc1e9b95 /files/fr/web/javascript/reference/global_objects/webassembly/module | |
parent | 804835deddcb1a4234708e5ee00cad04177b1e03 (diff) | |
download | translated-content-f755ec1090fa10c62f91b170ae2dcc578a05d439.tar.gz translated-content-f755ec1090fa10c62f91b170ae2dcc578a05d439.tar.bz2 translated-content-f755ec1090fa10c62f91b170ae2dcc578a05d439.zip |
Translate missing WASM JS API pages (#3184)
Diffstat (limited to 'files/fr/web/javascript/reference/global_objects/webassembly/module')
-rw-r--r-- | files/fr/web/javascript/reference/global_objects/webassembly/module/module/index.md | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/files/fr/web/javascript/reference/global_objects/webassembly/module/module/index.md b/files/fr/web/javascript/reference/global_objects/webassembly/module/module/index.md new file mode 100644 index 0000000000..e0392428a7 --- /dev/null +++ b/files/fr/web/javascript/reference/global_objects/webassembly/module/module/index.md @@ -0,0 +1,66 @@ +--- +title: Constructeur WebAssembly.Module() +slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Module/Module +translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Module/Module +browser-compat: javascript.builtins.WebAssembly.Module.Module +--- +{{JSRef}} + +Le constructeur **`WebAssembly.Module()`** crée un nouvel objet `Module` contenant du code WebAssembly sans état qui a déjà été compilé par le navigateur et qui peut efficacement [être partagé avec des workers](/fr/docs/Web/API/Worker/postMessage) et être instancié plusieurs fois. + +Le constructeur `WebAssembly.Module()` peut être appelé de façon synchrone afin de compiler le code binaire WebAssembly correspondant. Toutefois, la méthode principale pour obtenir un `Module` consiste à utiliser une fonction de compilation asynchrone comme [`WebAssembly.compile()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/compile). + +## Syntaxe + +> **Attention :** Étant donné que la compilation de grands modules peut être coûteuse, il est préférable d'utiliser `Module()` uniquement lorsqu'une compilation synchrone est nécessaire. Dans tous les autres cas, on privilégiera la méthode [`WebAssembly.compileStreaming()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/compileStreaming). + +```js +new WebAssembly.Module(bufferSource) +``` + +### Parameters + +- _bufferSource_ + - : Un [tableau typé](/fr/docs/Web/JavaScript/Typed_arrays) ou un [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) contenant le code binaire du module .wasm qu'on souhaite compiler. + +## Exemples + +### Compiler un module WebAssembly de façon synchrone + +```js +var importObject = { + imports: { + imported_func: function(arg) { + console.log(arg); + } + } +}; + +function createWasmModule(bytes) { + return new WebAssembly.Module(bytes); +} + +fetch('simple.wasm').then(response => + response.arrayBuffer() +).then(bytes => { + let mod = createWasmModule(bytes); + WebAssembly.instantiate(mod, importObject) + .then(result => + result.exports.exported_func() + ); +}) +``` + +## Spécifications + +{{Specifications}} + +## Compatibilité des navigateurs + +{{Compat}} + +## Voir aussi + +- La page [WebAssembly](/fr/docs/WebAssembly) +- [Concepts WebAssembly](/fr/docs/WebAssembly/Concepts) +- [Utiliser l'API JavaScript WebAssembly](/fr/docs/WebAssembly/Using_the_JavaScript_API) |