如何在 Wasm 模块中使用 Javascript 对象属性

How to use Javascript object properties with Wasm module

我想要一个示例,用于从 javascript 对象导入 属性 并通过 Wasm 模块成为 get/set。

我应该使用哪种导入? (函数,Table,内存或全局)。

例如,我想从 Wasm 中读取 Date.length 属性。

你不能用纯 WebAssembly 做到这一点(你永远也做不到)。像 rust 的 wasm_bindgen 这样的系统所做的是有一个用 js 编写的函数,它接受 (object, value) 和 returns object[value].

function getProperty(object, value) {
  return object[value];
}
(module
  (import "host" "getProperty" (func $getProperty (param anyref) (param anyref) (result anyref))
)

要设置 属性,您需要一个 (object, 属性, value) 函数。