WebAssembly.validate()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.
Die WebAssembly.validate()
statische Methode validiert ein gegebenes typisiertes Array von WebAssembly-Binärcode und gibt zurück, ob die Bytes ein gültiges Wasm-Modul bilden (true
) oder nicht (false
).
Syntax
WebAssembly.validate(bufferSource)
WebAssembly.validate(bufferSource, compileOptions)
Parameter
bufferSource
-
Ein typisiertes Array oder ArrayBuffer, das den zu validierenden WebAssembly-Binärcode enthält.
compileOptions
Optional-
Ein Objekt, das Kompilierungsoptionen enthält. Dieser Parameter ist in der
validate()
-Methode enthalten, damit er verwendet werden kann, um Module zu validieren, wenn die Kompilierungsoptionen vorhanden sind (zum Beispiel, um Feature-Erkennung zu implementieren). Die Eigenschaften können umfassen:builtins
Optional-
Ein Array von Zeichenfolgen, das die Nutzung von JavaScript-Builtins im kompilierten Wasm-Modul ermöglicht. Die Zeichenfolgen definieren die Builtins, die Sie aktivieren möchten. Derzeit ist der einzige verfügbare Wert
"js-string"
, der JavaScript-String-Builtins aktiviert. importedStringConstants
Optional-
Eine Zeichenfolge, die einen Namensraum für importierte globale Zeichenfolgenkonstanten angibt. Diese Eigenschaft muss angegeben werden, wenn Sie importierte globale Zeichenfolgenkonstanten im Wasm-Modul verwenden möchten.
Rückgabewert
Ein boolescher Wert, der angibt, ob bufferSource
gültiger Wasm-Code ist (true
) oder nicht (false
).
Ausnahmen
Wenn bufferSource
kein typisiertes Array oder ArrayBuffer ist, wird eine TypeError
ausgelöst.
Beispiele
Nutzung von validate
Das folgende Beispiel (sehen Sie den validate.html Quellcode und sehen Sie es live) lädt ein Wasm-Modul und konvertiert es in ein typisiertes Array. Die validate()
-Methode wird dann verwendet, um zu überprüfen, ob das Modul gültig ist.
fetch("simple.wasm")
.then((response) => response.arrayBuffer())
.then((bytes) => {
const valid = WebAssembly.validate(bytes);
console.log(
`The given bytes are ${valid ? "" : "not "}a valid Wasm module`,
);
});
Validierung eines Moduls mit aktivierten JavaScript-Builtins und globalen Zeichenfolgenimporten
Dieses Beispiel validiert ein Wasm-Modul mit aktivierten JavaScript-String-Builtins und importierten globalen Zeichenfolgenkonstanten und protokolliert "Wasm module valid: true"
in der Konsole, wenn es gültig ist, und "Wasm module valid: false"
, wenn nicht. Sehen Sie es live laufen.
const compileOptions = {
builtins: ["js-string"], // Enable JavaScript string builtins
importedStringConstants: "string_constants", // Enable imported global string constants
};
fetch("log-concat.wasm")
.then((response) => response.arrayBuffer())
.then((bytes) => WebAssembly.validate(bytes, compileOptions))
.then((result) => console.log(`Wasm module valid: ${result}`));
Spezifikationen
Specification |
---|
WebAssembly JavaScript Interface # dom-webassembly-validate |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- WebAssembly Übersichtsseite
- WebAssembly-Konzepte
- Verwendung der WebAssembly-JavaScript-API