小编Don*_*ton的帖子

无法在 js 函数调用的 go 函数中返回数组。恐慌:ValueOf:无效值

有一个gocode,编译成wasm文件。我希望其中一个函数返回一个数组,但是当我这样做时,我看到一个panic: ValueOf: invalid value错误。js.ValueOf函数似乎能够处理数组:

...
case []interface{}:
    a := arrayConstructor.New(len(x))
    for i, s := range x {
        a.SetIndex(i, s)
    }
    return a
...
Run Code Online (Sandbox Code Playgroud)

但当我给它一个值时仍然会恐慌[]int

package main

import (
    "fmt"
    "syscall/js"
)

var signal = make(chan int)

func keepAlive() {
    for {
        <-signal
    }
}

func main() {
    js.Global().Set("PanicStation", js.FuncOf(PanicStation))
    keepAlive()
}

func PanicStation(this js.Value, args []js.Value) interface{} {
    arr := make([]int, 1)
    return arr
}
Run Code Online (Sandbox Code Playgroud)

arrays go slice webassembly

5
推荐指数
1
解决办法
2046
查看次数

标签 统计

arrays ×1

go ×1

slice ×1

webassembly ×1