Desidero separare il thread sulla pagina per impedire il congelamento della GUI. Per questo, sto eseguendo la funzione che congelerà gui all'interno di un altro thread con setTimeout ma ancora in congelamento.Esecuzione di codice all'interno di un altro thread in javascript
Il codice e il link jsbin sono qui sotto:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"
type="text/javascript"></script>
<meta charset="utf-8" />
</head>
<body>
<div id="div1"></div>
<div id="div2"></div>
<input type="button" value="düðme" id="btn" />
<script type="text/javascript">
$("#btn").on("click",function(){
$("#div1").html(new Date());
});
$(document).ready(function(){
setTimeout(function() { count(); },1);
});
function count(){
for(var i =0;i<100000;i++){
$("#div2").html(i);
}
$("#div2").append(new Date());
}
</script>
</body>
</html>
Che verrà comunque eseguito nello stesso thread. Tutto verrà eseguito nello stesso thread. L'unica eccezione è WebWorkers. – mishik
ma le richieste jquery ajax funzionano in thread diversi se diciamo 'async: true'. Ora sto cercando di trovare buone informazioni sui webworkers. Ho bisogno di eseguire qualcosa in altri thread mentre gui è ancora tangibile e carica altri dati dalla rete. – uzay95
Il callback per quella richiesta ajax verrà comunque eseguito nello stesso thread. 'async: true' significa solo che il browser può impiegare del tempo a gestire altre attività mentre attende i risultati delle chiamate ajax. – mishik