此页面由社区从英文翻译而来。了解更多并加入 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 arrayArrayBuffer

返回值

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

异常

如果给定的 bufferSource 不是 typed arrayArrayBuffer 类型,将会抛出 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

浏览器兼容性

参见