Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

200
Visualizações
¿Dejará de computarse una propiedad calculada si se actualiza una dependencia durante la ejecución?

Digamos que tiene una propiedad calculada que filtra y ordena una matriz de valores según la entrada de un usuario.

Si el usuario comienza a filtrar valores de la matriz y el valor de clasificación cambia durante el cálculo del filtrado, ¿la propiedad calculada continuará con la ejecución del filtrado o la propiedad calculada saltará al siguiente cálculo de la propiedad calculada en la cola? , con el nuevo valor de clasificación?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Javascript es (esencialmente) de un solo subproceso. Eso significa que nada puede procesar el hecho de que ocurrió un evento desencadenado por el usuario hasta que el código síncrono que se está ejecutando actualmente termine de ejecutarse.

Sin embargo, puedes hacer algo tú mismo para emular esto. Agregue pausas asíncronas donde libere el ciclo de ejecución que permite que se procesen los eventos, y luego reanude y verifique alguna condición de cancelación, luego puede lograr algo como lo que está pidiendo. Pero eso es mucho código y, a menos que el filtrado sea realmente lento, probablemente sea una mala idea.

about 4 years ago · Juan Pablo Isaza Relatório

0

Las propiedades calculadas terminarán completamente la ejecución.

Si la documentación anterior de Vue.js v2 aún tiene alguna relevancia, el siguiente pasaje indica cómo los cambios generan actualizaciones:

[...] Vue realiza actualizaciones de DOM de forma asíncrona. Siempre que se observe un cambio de datos, abrirá una cola y almacenará en búfer todos los cambios de datos que ocurran en el mismo bucle de eventos. Si el mismo observador se activa varias veces, se colocará en la cola solo una vez. Esta deduplicación almacenada en búfer es importante para evitar cálculos innecesarios y manipulaciones DOM. Luego, en el siguiente ciclo de eventos "tick", Vue vacía la cola y realiza el trabajo real (ya deduplicado).

Dado que JavaScript es un lenguaje de subproceso único, esto significaría que durante cualquier "tick" particular del bucle de eventos, no se procesarán otras acciones hasta que finalice la ejecución del código durante este "tick".

Si, hipotéticamente, el comportamiento interno de Vue fuera tal que estas actualizaciones se manejaran de forma puramente asíncrona, entonces existiría la posibilidad de condiciones de carrera entre dos ciclos de eventos cualesquiera, especialmente si el primer paso tarda mucho en completarse mientras que el segundo finaliza rápidamente. Detener la ejecución de una propiedad calculada en parte, incluso si fuera posible, también podría provocar que no se activen los efectos secundarios normalmente desencadenados por la ejecución de la propiedad calculada (mala práctica, pero ese es otro tema).

Estas inconsistencias en el comportamiento causarían todo tipo de problemas para mantener la consistencia en el estado de la aplicación, lo cual es un problema que haría que cualquier marco reactivo fuera realmente inútil.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda