2012-04-06 20 views
6

¿Es posible sincronizar el registro en la consola? A menudo me encuentro con situaciones en las que la ejecución del código es más rápida que deshacerse de las estructuras. Eso se resuelve en la salida de objetos ya modificados.Registro de consola síncrona en Chrome

Estoy seguro de que puedo recorrer el código con el depurador, hacer pruebas unitarias, etc., simplemente es conveniente simplemente console.log simplemente para tener una idea general de lo que está sucediendo.

Respuesta

10

Se puede crear una copia del objeto antes de pasarla a console.log. Mire here para una función para crear una copia profunda de su objeto.

Editar:

Ahora implementado en Chrome, ver here

+0

Muy bien, gracias, eso suena viable. Aunque preferiría simplemente anular de alguna manera el dumping original de la consola, entonces es un bloqueo en lugar de una sincronización. –

+0

El problema es que el objeto se pasa a la consola por referencia; si más tarde cambia el objeto, la salida en la consola también cambiará. – Fox32

+0

Oh, ya veo ... pensé que se tomaría una instantánea. En ese caso, la clonación del objeto parece ser la única solución. Gracias de nuevo. –

2

Ponga un punto de interrupción (vea la imagen a continuación) en la declaración console.log y use los controles para pasar al siguiente.

enter image description here

+0

Gracias, pero sé que puedo recorrer el código con el depurador. Incluso he dicho eso en la pregunta original. –

7

Sólo me atraparon por este comportamiento, pasó varias horas hasta que me di cuenta de la consola se borked, no es mi código. Maldita sea.

Hasta ahora sólo las arreglé para conseguir el comportamiento esperado con:

console.log(JSON.stringify(obj)) 

efecto secundario interesante es, que amplía los objetos como {0: "A", 3: "B"}

+0

Oh, eso realmente arregla todo muy bien. Gracias por eso :) –

Cuestiones relacionadas