You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
La UI se congela al correr un ejercicio con loops infinitos
Esto lo estuve viendo pero no es tan fácil, la forma de solucionarlo para mí es con Web Workers pero hay varios temas a solucionar:
No pueden acceder al scope global, ni a ningún dato que no se pase mediante .postMessage(...) que solo admite datos planos y no objetos con comportamiento.
Pueden importar scripts (en este caso el código del intérprete) pero solo mediante un importScripts que los baja de la red, y esto desde el runner se complica porque corren dentro de labo
Habría que hacer un refactor grande en gobstones-code-runner para hacer el parseo e interpretación en el mismo paso y que la interfaz sea siempre asincrónica
Igualmente lo veo posible, pero es una tarea de varios días así que lo cargué en un issue aparte.
The text was updated successfully, but these errors were encountered:
Consulta, si hubiera un callback o evento que te permitiera ejecutar algo por cada instrucción del intérprete o cada x instrucciones, no podríamos actualizar la ui ahí?
Sí, sería mucho mejor. Pero el intérprete actual no admite ese callback y no sé qué tan complicado es agregarlo. Hoy por hoy, ejecuta todo y devuelve una lista de snapshots de los estados intermedios por los que pasó el tablero
Esto viene de #127:
Esto lo estuve viendo pero no es tan fácil, la forma de solucionarlo para mí es con Web Workers pero hay varios temas a solucionar:
.postMessage(...)
que solo admite datos planos y no objetos con comportamiento.importScripts
que los baja de la red, y esto desde el runner se complica porque corren dentro de labogobstones-code-runner
para hacer el parseo e interpretación en el mismo paso y que la interfaz sea siempre asincrónicaIgualmente lo veo posible, pero es una tarea de varios días así que lo cargué en un issue aparte.
The text was updated successfully, but these errors were encountered: