WebAssembly.Table.prototype.get()

Baseline 已广泛支持

此功能已非常成熟,可在多种设备和浏览器版本上使用。自 2017 年 10 月以来,它已在各大浏览器中可用。

get() 原型方法是 WebAssembly.Table() 对象用于检索存储在给定索引处的元素。

语法

js
get(index)

参数

index

您想要检索的元素的索引。

返回值

根据 Table 的元素类型,它可以是函数引用——这是 导出的 WebAssembly 函数,是对底层 Wasm 函数的 JavaScript 包装器,也可以是宿主引用。

异常

如果 index 大于或等于 Table.prototype.length,则会抛出 RangeError

示例

使用 get

以下示例(请参阅 GitHub 上的 table.html,以及 实时查看)使用 WebAssembly.instantiateStreaming() 方法编译并实例化加载的 table.wasm 字节码。然后检索存储在导出的表中的引用。

js
WebAssembly.instantiateStreaming(fetch("table.wasm")).then((obj) => {
  const tbl = obj.instance.exports.tbl;
  console.log(tbl.get(0)()); // 13
  console.log(tbl.get(1)()); // 42
});

请注意,您需要在访问器末尾包含第二个函数调用运算符才能实际检索存储在引用中的值(例如,get(0)() 而不是 get(0))——因为它是一个函数而不是一个简单值。

规范

规范
WebAssembly JavaScript 接口
# dom-table-get

浏览器兼容性

另见