gpt4 book ai didi

xmlhttprequest - 从 WebAssembly 调用 XmlHttpRequest

转载 作者:行者123 更新时间:2023-12-04 15:30:31 27 4
gpt4 key购买 nike

我试图了解从 WebAssembly 调用 XmlHttpRequest 的最佳和最有效的方法是什么。

我找到了 http://webassembly.org/getting-started/js-api/这似乎解释了如何在 JavaScript 和 WebAssembly 之间进行调用。

为了让它发挥作用,在我看来,我必须执行以下操作:

  • 编写一个 JavaScript 函数,我将其导入到 WebAssembly 中,该函数调用 XmlHttpRequest
  • 编写我从 WebAssembly 导出的 WebAssembly 函数,当 XmlHttpRequest 完成时,JavaScript 会调用该函数。

  • 如果我想要运行动态数量的并发 XmlHttpRequests,我还需要导入的函数来提供一个处理程序,然后由 JavaScript 将其提供给导出的函数。

    我现在有几个问题:
  • 以上是否准确以及如何做到?
  • 如何将 URI 从 WebAssembly 传输到 XmlHttpRequest?我是否必须向/从 WebAssembly 导入或导出 WebAssembler.Memory 对象并将 URI 放入其中?
  • 如果 2 的答案是肯定的,这个 WebAssembler.Memory 对象将像一个全局变量,但这可以工作,因为只有一个线程。正确的?
  • 与 2 类似,如何将 XmlHttpRequest 的结果传输回 WebAssembly?还在导入/导出的 WebAssembler.Memory 对象中?
  • 关于 4,我如何以最有效的方式将 XmlHttpRequest 的结果放入 WebAssembly - 例如尽可能少的副本?我是否需要将 XmlHttpRequest 的结果从 JavaScript 代码复制到 WebAssembler.Memory 对象中?再说一次,这个 WebAssembler.Memory 对象是一个全局变量吗?我想我可以让调用表单 WebAssembly 到 JavaScript 传递一个索引来指示结果应该放在 WebAssember.Memory 中的哪个位置?
  • 最佳答案

  • 是的,这是正确的。
  • 您可以将 URI 作为字符串传输,如 this question about strings 中所述。
  • 当 WebAssembly 支持线程时,您可以调用 JavaScript 并且可以只对字符串进行堆分配,传递其指针+长度,并在该调用返回时删除。
  • 是的,把它像一根绳子一样传回来。
  • 目前你必须做一个副本,尽管社区小组正在讨论允许将来出现更少副本的方法。最新此类讨论的注释are available from the WebAssembly meetings repository .
  • 关于xmlhttprequest - 从 WebAssembly 调用 XmlHttpRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47089788/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com