我和Wasm都是新手,看来这些项目进展很快。 I was reading an introduction to using wasm in go,尽管它是在一月份写的,但它已经过时了。
我正在尝试在调用JavaScript函数时调用单个go函数。该示例说要执行以下操作:
js.Global().Set("jsFunctionName", js.NewCallback(goCallback))
尽管当我尝试编译它时,却出现此错误:
./webassembly.go:54:35: undefined: js.NewCallback
I checked the documentation,看不到对NewCallback
的引用。目前应该执行的“正确”方法是什么?
答案 0 :(得分:2)
js.Global().Set("jsFunctionName", js.NewCallback(goCallback))
应为:
js.Global().Set("jsFunctionName", js.FuncOf(goCallback))
请注意,goCallback的签名已更改,并且从Go 1.12开始,现在支持返回值。 例如,以下是公开简单的添加功能的方法:
// function definition
func add(this js.Value, i []js.Value) interface{} {
return js.ValueOf(i[0].Int()+i[1].Int())
}
// exposing to JS
js.Global().Set("add", js.FuncOf(add))