Hay una gran tabla HTML y un código JS que lo ordena.
Quiero mostrar algún ícono de carga o una superposición cuando se ejecuta el código de clasificación.
Todo funciona bien, pero hay un intervalo de tiempo entre el final del código y la aparición real de la tabla actualizada.
Supongo que lleva algún tiempo hasta que el navegador termine de volver a dibujar la página.
Intenté usar Observer, pero se activa solo después de la modificación del DOM, todavía hay un retraso antes de que pueda ver la tabla actualizada real.
¿Hay algún evento JS que ocurra después de que el navegador termine de dibujar la página?
Puede usar el activador para activar eventos al principio y al final de su procesamiento.
Si está usando jQuery, se vería así:
function processTable(){ $(document).trigger('startProcessing', { description: 'Enable Loader' }); ... //Processing done here $(document).trigger('endProcessing', { description: 'Disable Loader' }); } jQuery(document).on('startProcessing',enableLoaderFunction); jQuery(document).on('endProcessing',disableLoaderFunction);Esto también se puede hacer solo en JS asegurándose de usar el controlador de eventos adecuado para el navegador que se está usando. Aquí está la documentación para el manejo sin jQuery: https://developer.mozilla.org/en-US/docs/Web/Events/Creating_and_triggering_events