此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

WebAssembly.validate()

基线 广泛可用 *

自 2017年10月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

* 此特性的某些部分的支持程度可能有所不同。

WebAssembly.validate() 方法用于验证包含 WebAssembly 二进制码的一个类型化数组是否合法,返回 true 如果这些字节能构成一个合法的 wasm 模块,否则返回 false。

语法

js
WebAssembly.validate(bufferSource)
WebAssembly.validate(bufferSource, compileOptions)

参数

bufferSource

一个包含 WebAssembly 二进制码的 typed array 或 ArrayBuffer。

返回值

一个布尔值,用来表示给定的 bufferSource 是合法 wasm 代码(true)或者不是(false)。

异常

如果给定的 bufferSource 不是 typed array 或 ArrayBuffer 类型,将会抛出 TypeError 异常。

示例

下面的例子(查看 validate.html 源代码,或者在线预览)通过 fetch 获取了一个 .wasm 模块并将其转换为一个类型化数组。接下来用 validate() 方法来验证这个模块是否合法。

js
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`,
    );
  });

规范

规范
WebAssembly JavaScript Interface
# dom-webassembly-validate

浏览器兼容性

参见