Escribo por aca porque tengo una duda que me esta volviendo loca.
Resulta que tengo una función en js llamada download que crea un archivo excel que posteriormente es descargado a través de un appendChild(). Resulta que paralelamente mientras se crea el archivo (tarda aprox 3 min en crearse) consulto a una funcion llamada getProgress que tiene el progreso actual de la descarga. Por alguna extraña razón getProgress aunque esta dentro de la función setinterval, éste no se actualiza ya que se queda esperando a que termine el excel de crearse y descargarse para luego actualizarse. No entiendo la razón.
Necesito que tanto la funcion getProgress y la funcion download se ejecuten en paralelo y no uno despues de otro.
Alguna idea?
pd// ambas funciones retornan el valor correcto sin error.
Muchas Gracias.
Código PHP:
function getProgress()
{
$.ajax({
url: Routing.generate('getProgresoTotal') + '/' + project + '/' + file,
cache: false,
async: true,
success: function (data) {
$('#progreso').text(data);
},
error: function () {
$('#progreso').text('error');
}
});
}
function download()
{
$('#modal-wizard').show();
var url = Routing.generate('download_data') + '/' + project + '/' + file + '/' + 20 + '/' + "2km";
var elemIF = document.createElement("iframe");
elemIF.src = url;
elemIF.style.display = 'none';
document.body.appendChild(elemIF);
var inter = window.setInterval(function () {
getProgress();
if (elemIF.contentWindow.document.readyState === "complete") {
window.clearInterval(inter);
$('#modal-wizard').hide();
clearInterval(refreshIntervalId);
}
}, 100);
window.onbeforeunload = null;
}