Estoy generando dinámicamente múltiples archivos de ~2mb y descargándolos en secuencia para una aplicación interna. El código funciona, pero cuando llega a unas 55 imágenes, la página se detiene y me da un error de "punto de interrupción de estado".
Fui a la pestaña de memoria en las herramientas de desarrollo de Chrome y vi que en cada bucle aumenta la huella de memoria, por lo que creo que los blobs que se generan no se eliminan por alguna razón... aquí está mi código:
capturer.save(blob => { // const link = document.createElement("a"); let downloadURL = URL.createObjectURL(blob); downloader.href = downloadURL; downloader.download = currentImage + ".gif"; downloader.dispatchEvent(new MouseEvent("click")); URL.revokeObjectURL(downloadURL); URL.revokeObjectURL(blob); // tried these, no effect if (startImage< endImage) { setTimeout(() => { this.imageExport(++startImage, endImage); }, 0); } });Como puede ver, inicialmente estaba creando elementos dinámicamente, pero luego lo comenté y agregué un único elemento de descarga para probar, pero no funcionó. Creo que las manchas se acumulan en la memoria y no puedo encontrar una manera de desecharlas.
¿Algunas ideas? He estado tratando de arreglar esto durante horas.