我尝试了解从WebAssembly调用XmlHttpRequest的最佳和最有效的方法。
我发现http://webassembly.org/getting-started/js-api/似乎解释了如何在JavaScript和WebAssembly之间进行调用。
为了让这个工作起作用,在我看来,我必须做到以下几点:
- 编写我导入WebAssembly的JavaScript函数,该函数调用XmlHttpRequest
- 编写我从WebAssembly导出的WebAssembly函数,当XmlHttpRequest完成时,JavaScript调用该函数。
如果我想要运行动态数量的并发XmlHttpRequests,我还需要导入的函数来提供一个处理程序,然后由JavaScript将其提供给导出的函数。
我现在有很多问题:
- 上述准确和方法是否正确?
- 如何将URI从WebAssembly传输到XmlHttpRequest?我是否必须将WebAsseratorr.Memory对象导入或导出到WebAssembly中并将URI放入其中?
- 如果2的答案是肯定的,那么这个WebAssembler.Memory对象就像一个全局变量,但这可以起作用,因为只有一个线程。正确的吗?
- 与2类似,如何将XmlHttpRequest的结果传回WebAssembly?还在导入/导出的WebAssembler.Memory对象中?
- 结合4,如何以最有效的方式将XmlHttpRequest的结果导入WebAssembly - 例如尽可能少的副本?我是否需要从JavaScript代码中将XmlHttpRequest的结果复制到WebAssembler.Memory对象中?而且,这个WebAssembler.Memory对象是一个全局变量?我想我可以让调用表单WebAssembly传递一个索引来指示WebAssember.Memory中应该放置结果的位置?
醇>