Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

102
Views
Scalajs, js.Dictionary comportamiento inconsistente

Tengo un error inconsistente al usar ScalaJS. Aquí hay un ejemplo mínimo: el tamaño y el contenido de una variable de diccionario son inconsistentes.

 def A(mapping: js.Dictionary[String]): Unit = { dom.console.log(mapping) dom.console.log(mapping.size) }

Enlazo los IR usando fastOptJS. En el código del controlador en html, tengo

 const colorSetting = new Map([ ["1", "black"] ]); ScalaJSExample.A(colorSetting)

En la consola, la primera línea imprime correctamente el contenido de la variable,

 "Map {"1" => "black"}"

pero la segunda línea imprime 0. También intenté cambiar la posición de las dos líneas, pero el resultado es el mismo. Todos los métodos como .foreach o for (x <- mapeo) tratan el mapeo de variables como vacío.

¿Alguna sugerencia de por qué este es el caso? Estoy usando Scala 2.12.8, ScalaJS 1.7.1.

¡Gracias!

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Un js.Dictionary representa un POJO (objeto de JavaScript simple y antiguo) donde los elementos son campos. Pero le está pasando un new Map() de JS, que no es un POJO, es un Map . El tipo correcto para representar un mapa JS es js.Map .

Pase un diccionario a ScalaJSExample.A , de la siguiente manera:

 const colorSetting = { "1": "black" }; ScalaJSExample.A(colorSetting)

o declare el mapping como js.Map en el código Scala.js:

 def A(mapping: js.Map[String, String]): Unit = { dom.console.log(mapping) dom.console.log(mapping.size) }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!