如何通过Wasm模块使用Javascript对象属性

时间:2019-08-27 10:40:43

标签: webassembly

我想举个示例,说明如何从JavaScript对象中导入属性以由Wasm模块获取/设置。

我应该使用哪种进口商品? (函数,表,内存或全局)。

例如,我想从Wasm中读取import java.util.stream.StreamSupport; String xmlBody="<?xml version=\"1.0\" encoding=\"UTF-8\"?><login>"; StreamSupport.stream(Spliterators.spliteratorUnknownSize(vars.getIterator(), Spliterator.ORDERED), false).forEach( e -> xmlBody+="<" +e.getKey() + ">" +e.getValue() + "</" +e.getKey() + ">"); xmlBody += "</login>"; log.info(xmlBody); 属性。

1 个答案:

答案 0 :(得分:0)

您不能使用纯WebAssembly来执行此操作(也将永远无法执行此操作)。像rust的wasm_bindgen这样的系统所要做的就是使用js编写的函数,该函数接受(对象,值)并返回object [value]。

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

要设置属性,您需要具有(对象,属性,值)功能。