Me gustaría ejecutar un código ( JavaScript , web) en segundo plano que no bloquee al usuario. En otras palabras, quiero llamar a una función, pero no quiero que las siguientes líneas esperen a que termine la llamada, ya que puede durar un tiempo (y no es necesario para el resto del programa).
Tal vez algo como esto:
function someBigFunctionIDontWantToWaitFor() { let i = 0; while (i < 100000000) { i++; } console.log("i =", i); } console.log("before call"); someBigFunctionIDontWantToWaitFor(); console.log("after call");Obviamente, en la consola, tengo esto:
before call 100000000 after callMe gustaría tener el siguiente resultado:
before call after call 100000000 Porque someBigFunctionIDontWantToWaitFor lleva tiempo y console.log("after call") no quiere esperar.
es posible? ¿Tiene sentido?
Gracias
Puede poner la función en un bloque entonces de una Promesa.
async function someBigFunctionIDontWantToWaitFor() { let i = 0; while (i < 100000) { i++; } console.log("i =", i); } console.log("before call"); Promise.resolve(undefined).then(someBigFunctionIDontWantToWaitFor) console.log("after call");