aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/javascript/reference/global_objects/webassembly/instance
diff options
context:
space:
mode:
authorSphinxKnight <SphinxKnight@users.noreply.github.com>2021-12-21 08:46:38 +0100
committerGitHub <noreply@github.com>2021-12-21 08:46:38 +0100
commitf755ec1090fa10c62f91b170ae2dcc578a05d439 (patch)
treeef09f1ac5579483d4f296a1f30b1b0bbdc1e9b95 /files/fr/web/javascript/reference/global_objects/webassembly/instance
parent804835deddcb1a4234708e5ee00cad04177b1e03 (diff)
downloadtranslated-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/instance')
-rw-r--r--files/fr/web/javascript/reference/global_objects/webassembly/instance/instance/index.md77
1 files changed, 77 insertions, 0 deletions
diff --git a/files/fr/web/javascript/reference/global_objects/webassembly/instance/instance/index.md b/files/fr/web/javascript/reference/global_objects/webassembly/instance/instance/index.md
new file mode 100644
index 0000000000..dc05d48fe1
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/webassembly/instance/instance/index.md
@@ -0,0 +1,77 @@
+---
+title: Constructeur WebAssembly.Instance()
+slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Instance/Instance
+translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Instance/Instance
+browser-compat: javascript.builtins.WebAssembly.Instance.Instance
+---
+{{JSRef}}
+
+Le constructeur **`WebAssembly.Instance()`** crée un nouvel objet `Instance` qui représente une instance sans état et exécutable d'un [`WebAssembly.Module`](/fr/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module).
+
+## Syntaxe
+
+> **Attention :** Étant donné que l'instanciation de grands modules peut être coûteuse, il est préférable d'utiliser le constructeur `Instance()` uniquement lorsqu'une instanciation synchrone est nécessaire. Par défaut et dans tous les autres cas, on privilégiera l'utilisation de la méthode asynchrone [`WebAssembly.instantiateStreaming()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/instantiateStreaming).
+
+```js
+new WebAssembly.Instance(module, importObject)
+```
+
+### Paramètres
+
+- _module_
+ - : L'objet [`WebAssembly.Module`](/fr/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module) qu'on souhaite instancier.
+- _importObject_ {{optional_inline}}
+ - : Un objet contenant les valeurs à importer dans l'instance nouvellement créée telles que des fonctions ou des objets [`WebAssembly.Memory`](/fr/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory). Il doit y avoir une propriété correspondante pour chaque import déclaré de `module` ou une exception [`WebAssembly.LinkError`](/fr/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/LinkError) sera levée.
+
+## Exemples
+
+### Instancier un module WebAssembly de façon synchrone
+
+Le constructeur `WebAssembly.Instance()` peut être appelé de façon synchrone afin d'instancier un objet [`WebAssembly.Module`](/fr/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module) donné, par exemple&nbsp;:
+
+```js
+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();
+})
+```
+
+Toutefois, la méthode à privilégier pour obtenir une `Instance` est d'utiliser la fonction asynchrone [`WebAssembly.instantiateStreaming()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/instantiateStreaming) comme ceci&nbsp;:
+
+```js
+const importObject = {
+ imports: {
+ imported_func: function(arg) {
+ console.log(arg);
+ }
+ }
+};
+
+WebAssembly.instantiateStreaming(fetch('simple.wasm'), importObject)
+.then(obj => obj.instance.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)