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))