跳转到内容
Yuuki学习手记
GitHub

JavaScript 调用 Wasm

这里调用的是真正的 WebAssembly 模块,导出一个 i32.add。界面与事件处理仍由 JavaScript 完成。

正在准备本页的微型 Wasm 模块。

把两个整数传过 JavaScript 与 Wasm 的边界
Wasm 返回的 i32 结果—

模块直接随页面加载,不下载模型。i32 加法超出范围时按 32 位整数回绕。

沿着这三个步骤读

  1. 页面取得模块字节,并交给 WebAssembly.instantiate。
  2. JavaScript 从实例的 exports 取得 add。
  3. 传入两个整数,接收模块返回的数值并更新界面。

可以试试 2147483647 + 1。结果说明跨边界时需要明确类型,而不仅仅是替换一次函数调用。这个微型模块用来观察调用过程;它的开销结构不能代表模型推理性能。

查看模块字节与完整代码 · 回到 Wasm 学习入口 →