Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

99
Vistas
Matriz de actualización asíncrona

¿Es posible actualizar una matriz de scripts Java de forma asíncrona? Debe tener un aspecto como este:

 export const main = async () => { let array = [] const update = async() => { //this should update the array every "interval"-seconds } update(); setInterval(update, interval); const usage = async() => { //this uses the array every n-seconds } usage(); setInterval(usage, n);

la función de actualización llama a una función asíncrona para obtener datos y debe reemplazar los datos antiguos en la matriz, la matriz siempre tiene el mismo tamaño

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Agregar lógica asíncrona innecesariamente puede hacer que sus funciones se ejecuten más lentamente . Por lo tanto, es importante entender cuándo debe usarlo.

Por ejemplo, si está haciendo mucho trabajo en una matriz (es decir, recorriendo una matriz de +1000 elementos, etc.) o obteniendo datos de un servidor, la lógica asíncrona hará que su código se ejecute más rápido, ya que el navegador puede garantizar la la tarea no es bloqueante. Si no, lo mejor que puedes hacer es mantenerlo sincronizado.

Nota: Javascript no puede ejecutar scripts al mismo tiempo (al mismo tiempo). Es un lenguaje de un solo subproceso. Para hacer algo que imite la simultaneidad en el navegador, puede buscar algo llamado Webworkers API , que proporciona el navegador. Le permite ejecutar javascript de manera concurrente, haciendo que un script se ejecute en otro subproceso de la CPU, pero existen limitaciones.

Sin embargo, las tareas pesadas de preprocesamiento de datos que deben realizarse en el lado del cliente (como la modificación de matrices grandes) es donde algo como Webworkers puede valer la pena.

Recomendación:

Dado que está obteniendo datos sobre la actualización, a continuación hay una plantilla para escribir esta lógica asíncrona. axios como ejemplo de obtención de datos, pero puede inicializar una solicitud http en la forma que mejor le parezca.

 import axios from "axios" //will auto update when changed, and value will be exported let array = [] export {array} export const main = async () => { //this should update the array every "interval"-seconds const update = async(array) => { const updated_arr = await axios.get(url) //perform async updating logic on updating array with //updated_arr.data.pop(), updated_arr.data.shift(), fetching data, etc. //assign your updated array back to array, so it updates array = updated_arr.data } setInterval(update, interval); }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Mueva las funciones de actualización () y uso () fuera de su función principal () de esta manera:

 const update = async(array) => { array.push("newValue") return array; } const usage = async(array) => { return array; } export const main = async () => { let array = []; const upd_interval = 10; const use_interval = 20 setInterval(await update(array), upd_interval)); setInterval(await usage(array, use_interval)); }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda