我找到了
http://webassembly.org/getting-started/js-api/
这似乎解释了如何在JavaScript和WebAssembly之间进行调用。
在我看来,为了使这项工作发挥作用,我必须做到以下几点:
-
编写一个JavaScript函数,将其导入WebAssembly,该WebAssembly调用XmlHttpRequest
-
编写我从WebAssembly导出的WebAssembly函数,当XmlHttpRequest完成时,JavaScript调用该函数。
如果我想运行动态数量的并发XmlHttpRequests,我还需要导入的函数来提供一个处理程序,然后由JavaScript提供给导出的函数。
我现在有几个问题:
-
上述内容准确吗?具体做法是什么?
-
如何将URI从WebAssembly传输到XmlHttpRequest?我必须导入或导出WebAssembler吗。内存对象到/来自WebAssembly,并将URI放在其中?
-
-
与2类似,如何将XmlHttpRequest的结果传输回WebAssembly?也在导入/导出的WebAssembler中。内存对象?
-
关于4,我如何以最有效的方式(例如,使用尽可能少的副本)将XmlHttpRequest的结果放入WebAssembly?我是否需要将XmlHttpRequest的结果复制到WebAssembler中。JavaScript代码中的内存对象?再一次,这个WebAssembler。内存对象是全局变量?我想我可以让从WebAssembly到JavaScript的调用传递一个索引,以指示WebAssember中的位置。记忆结果应该放在哪里?