Golang 的 syscall/js js.NewCallback 未定义
Golang's syscall/js js.NewCallback is undefined
我对 go 和 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
的引用。当前 "correct" 应该采用什么方式来完成这项工作?
js.Global().Set("jsFunctionName", js.NewCallback(goCallback))
应该是:
js.Global().Set("jsFunctionName", js.FuncOf(goCallback))
注意 goCallback 的签名已经改变,现在从 Go 1.12 开始,支持 return 值。
例如,这里是如何公开一个简单的添加函数:
// 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))
我对 go 和 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
的引用。当前 "correct" 应该采用什么方式来完成这项工作?
js.Global().Set("jsFunctionName", js.NewCallback(goCallback))
应该是:
js.Global().Set("jsFunctionName", js.FuncOf(goCallback))
注意 goCallback 的签名已经改变,现在从 Go 1.12 开始,支持 return 值。 例如,这里是如何公开一个简单的添加函数:
// 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))