El editor de ACE ApplyDeltas parece incompatible con SetTimeout -- javascript campo con settimeout campo con ace-editor camp Relacionados El problema

ACE Editor applyDeltas seems incompatible with setTimeout


1
vote

problema

Español

Estoy tratando de reproducir la entrada del usuario en el Editor de ACE. Habiendo recogido una cola de Deltas, estoy tratando de hacer unir la cola y mostrar los cambios con los retrasos.

Aquí hay algunos código ligeramente simplificado:

  // 'queue' is queue of delta objects var i = 0; function playbackLoop() { // setTimeout( function() {       editor.getSession().getDocument().applyDeltas([queue[i]]);       i++;       if(i < queue.length)            playbackLoop(); // }, 250); }   

Este código funciona, como en, me deja con una copia perfecta de lo que escribió el usuario.

Cuando se desconfía las líneas de Settimeout, al reproducir, el cursor en el editor se mueve cada 250 ms, pero no aparecen caracteres. Así que me queda con la conclusión de que SetmeMeOut está interfiriendo con las aplicaciones.

Supongo que ApplyDeltas se basa en algunos internales ocultos, pero no tengo idea de lo que pueden ser.

¡Gracias!

Original en ingles

I'm trying to play back user input in ACE editor. Having collected a queue of deltas, I'm trying to loop over the queue and show the changes with delays.

Here's some slightly simplified code:

// 'queue' is queue of delta objects var i = 0; function playbackLoop() { // setTimeout( function() {       editor.getSession().getDocument().applyDeltas([queue[i]]);       i++;       if(i < queue.length)            playbackLoop(); // }, 250); } 

This code works -- as in, it leaves me with a perfect copy of what the user typed in.

When I uncomment the lines for setTimeout, upon playback the cursor in the editor moves every 250ms, but no characters appear. So I'm left with the conclusion that setTimeout is interfering with applyDeltas.

I'm guessing applyDeltas relies on some hidden internals, but I have no idea what they can be.

Thanks!

        

Lista de respuestas

1
 
vote
vote
La mejor respuesta
 

Tal vez hay un problema con Deltas en la cola? Funciona bien aquí http://jsbin.com/ojijeb/320/edit . Simplemente edite y presione REPLAY

 

Maybe there is a problem with deltas in the queue? It works fine here http://jsbin.com/ojijeb/320/edit. just edit and press replay

 
 
 
 

Relacionados problema

1  Vinculación de ACE a un tema personalizado fuera del directorio del tema predeterminado en la aplicación Angular 2  ( Linking ace to a custom theme outside of default theme directory in angular 2 ap ) 
En mi angular 2 (construido con angular-cli), estoy tratando de vincular un editor de ACE a mi tema personalizado que se colocará dentro de la carpeta de acti...

-1  ACE Editor Modo personalizado: agregar reglas resaltadas al conjunto existente  ( Ace editor custom mode adding highlight rules to existing set ) 
Tengo un editor de Javascript (Editor de ACE) relacionado con Graalvm Scripting, donde agregué algunas reglas de JavaScript personalizadas. Me gustaría que se...

3  Icefaces Ace: Carga perezosa de datos  ( Icefaces acedatatable lazy loading ) 
¿Hay alguien que tenga un pequeño ejemplo de una carga perezosa con ACE: DataTable? .. No puedo entender cómo implementar el método de carga de la clase LazyD...

3  Obtener un número de línea de un elemento de HTML  ( Get an html elements line number ) 
Se preguntó si hay una mejor manera de encontrar un número de línea de elementos en el código de fuentes. Esto es lo que he llegado hasta ahora: // Get t...

0  Añadir una regla Pascal en el Editor web de ACE  ( Add a pascal rule on ace web editor ) 
Estoy usando el Editor web de ACE para la codificación en el idioma Pascal y un deseo de agregar una regla en el archivo nativo MODE-PASCAL.JS. Lo que quier...

5  Archivos de modo host por separado del editor de ACE  ( Host mode files separately from ace editor ) 
Quiero agrupar el editor de ACE con la aplicación de escritorio y hacerlo dentro de WebView. ACE se está ejecutando desde el protocolo PersonEntity11111111. ...

0  Llaves de flecha, y elimine el trabajo en ECE Editor, pero escribir texto no funciona  ( Arrow keys and delete work in ace editor but typing text doesnt work ) 
Acabo de comenzar a usar el editor de ACE (http://ace.ajax.org) y aunque funciona bien en un editor regular, tan pronto como lo puse dentro de un diálogo JQer...

0  Mozilla Ace: Reacción de Mohover de texto  ( Mozilla ace text mouseover reaction ) 
Quiero usar Mozilla Ace con la reacción de MouseOver en algunos elementos resaltados. Al igual que lastimas de herramientas para el texto, o, por ejemplo, mir...

3  ¿Cómo obtengo valor del editor de ACE sin comentarios?  ( How do i get value from ace editor without comments ) 
¿Es posible obtener el valor de una instancia de ECE Editor sin los comentarios (solo y múltiples filas)? Los comentarios se identifican por la clase de lapso...

0  Datos corruptos en el Editor de ACE al usar el botón Browser 'Back' en la aplicación de una sola página  ( Corrupted data in ace editor when using browser back button in single page app ) 
Estoy usando ACE Editor en una aplicación de Rails con turbolinks . El editor se inicializa cada vez que se carga una página (incluso cuando se carga una pág...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos