Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

379
Vistas
Cómo mantener la instancia de Golang WebAssembly ejecutándose después de un error y salir (Código: 2)

Tengo este programa para enviar bytes desde JavaScript a Golang WebAssembly usando el código:

 func sendBytes(this js.Value, args []js.Value) interface{} { if len(args) < 1 { return 0 } array := args[0] fmt.Println(array.Type()) buf := make([]byte, array.Length()) n := js.CopyBytesToGo(buf, array) fmt.Println(buf) return n } func registerCallbacks() { js.Global().Set("sendBytes", js.FuncOf(sendBytes)) }

Cuando ejecuto sendBytes con otra cosa que no sea Uint8Array , se elimina toda mi instancia en el navegador y tengo que ejecutarla nuevamente. Esta es una captura de pantalla de cómo ejecuto sendBytes(). ingrese la descripción de la imagen aquí

¿Cómo puedo mantenerlo funcionando sin importar el error que haya ocurrido?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

De acuerdo con su captura de pantalla, cuando pasó un número a sendBytes() , la línea de código array.Length() generaría pánico, luego el código WASM saldría. Como sabe, no se debe llamar a sendBytes() en un número.

Si realmente lo necesita para seguir ejecutándose, puede usar la recover en Go, similar a:

 func sendBytes(this js.Value, args []js.Value) interface{} { defer func() { if r := recover(); r != nil { fmt.Println("Recovered from", r) } }() if len(args) < 1 { return 0 } // ... }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda