• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

140
Views
Console.log Cambios basados en la entrada del usuario después de imprimirse

Tengo esta saga siendo llamada al abrir una página con dos consolas. Inicie sesión para depurar. Esto me da dos registros que se supone que son similares. Los valores en data[0] se utilizan en una tabla AgGrid. Dos campos son editables en la tabla, estos son nulos en la llamada de red. Sin embargo, si edito los campos en el navegador, antes de expandir console.log, el valor ahora se muestra como lo que ingresé en el campo. Esto sucederá en cualquiera de los registros, por lo que puede registrar el campo como nulo primero y luego como un valor después.

 function* saga({ Id }) { try { const response = yield call(get, GET_DATA(Id)); console.log(response.data[0]); console.log(response.data[0]); yield put(fetchDataSuccess(response.data)); } catch (error) { yield put(displayErrorMessage(NOB.ERROR)); } }

¿Se supone que console.log puede cambiar después de imprimirse si cambian las referencias? Eso reduciría un poco su eficiencia para la depuración.

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

0

console.log() es efectivamente asíncrono, y si el valor que está emitiendo es un objeto que cambia poco después de llamar a console.log() , es probable que lo que realmente obtenga el resultado sea la versión actualizada.

Entonces, respuesta corta a su pregunta, sí.

Si necesita generarlo en el momento del cambio, hay dos medios relativamente fáciles que puede usar para generarlo en esa etapa.

El primero sería simplemente generar un clon. Puedes crear un clon superficial como este:

 const objectToOutput; console.log({ ...objectToOutput });

Si necesita un clon profundo, puede obtener una biblioteca o simplemente escribir su propio método.

La segunda opción sería convertirlo primero a JSON. Incluso podría convertir ese JSON nuevamente en un objeto y generarlo si lo desea. Útil para objetos complejos que contienen datos simples (como los que obtendría de una llamada a la API):

 const objectToOutput; console.log(JSON.stringify(objectToOutput, null, 2)); // or console.log(JSON.parse(JSON.stringify(objectToOutput)));
about 3 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 Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error