解决Wasm和Js之间互调问题,程序猿直接上代码更清晰。
- DEMO项目结构
- 分别贴出核心三个文件代码
- main.go
package main
import (
"fmt"
"learn/util"
"syscall/js"
)
func main() {
fmt.Println("初始化开始")
//注册方法
js.Global().Set("MyFunc", js.FuncOf(util.MyFunc))
js.Global().Set("BuildSignQueryString", js.FuncOf(util.BuildSignQueryString))
fmt.Println("初始化结束")
channel := make(chan int)
<-channel
fmt.Println("程序退出")
}
- /util/demo.go
package util
import (
"fmt"
"syscall/js"
)
func MyFunc(this js.Value, args []js.Value) interface{
} {
t1,_ := jsont.MarshalToString(this)
t2,_ := jsont.MarshalToString(args)
fmt.Println("js.Value ======>", t1)
fmt.Println("[]js.Value ======>", fmt.Sprintf(