w33*_*33t 2 javascript go webassembly
我和Wasm都是新手,看来这些项目进展很快。我正在阅读有关在旅途中使用wasm的介绍,看来虽然它是在一月份编写的,但已经过时了。
我正在尝试在调用JavaScript函数时调用单个go函数。该示例说要执行以下操作:
js.Global().Set("jsFunctionName", js.NewCallback(goCallback))
Run Code Online (Sandbox Code Playgroud)
虽然在尝试编译时,会出现以下错误:
./webassembly.go:54:35: undefined: js.NewCallback
Run Code Online (Sandbox Code Playgroud)
我检查了文档,看不到参考NewCallback。当前应该执行的“正确”方法是什么?
js.Global().Set("jsFunctionName", js.NewCallback(goCallback))
Run Code Online (Sandbox Code Playgroud)
应为:
js.Global().Set("jsFunctionName", js.FuncOf(goCallback))
Run Code Online (Sandbox Code Playgroud)
请注意,goCallback的签名已更改,并且从Go 1.12开始,现在支持返回值。例如,以下是公开简单的add函数的方法:
// 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))
Run Code Online (Sandbox Code Playgroud)