小编krl*_*rlc的帖子

是否可以从 JS 显式调用导出的 Go WebAssembly 函数?

是否可以main在 Javascript 中调用 Go WebAssembly 函数,而不是?

让我先展示一下我做了什么。我的 Go 函数定义如下:

package main

import "fmt"

func main() {
    fmt.Println("it works!")
}

func add(a, b int) int {
    return a + b
}
Run Code Online (Sandbox Code Playgroud)

我只能调用main函数:

const go = new Go();

const data   = await fetch("http://localhost:3333/main.wasm");
const result = await WebAssembly.instantiateStreaming(data, go.importObject);

go.run(result.instance);
Run Code Online (Sandbox Code Playgroud)

it works!按预期返回。

然而,每当我试图调用add函数,我收到TypeError: Cannot read property 'add' of undefined at Welcome.getWasm,因为这两个result.exportsresult.instance.exports不包含我的功能。我也尝试将 Go 函数大写,但无济于事。

因此,我开始想知道什么是问题——甚至可以从 Javascript 中调用一个随机的 Go …

javascript go webassembly

8
推荐指数
1
解决办法
1956
查看次数

标签 统计

go ×1

javascript ×1

webassembly ×1