Considera il seguente codice JavaScript:
function foo(ary) {
// some long operation on ary
}
function bar(ary) {
// some long operation on ary
}
function baz(ary) {
// some long operation on ary
}
function main(ary) {
setTimeout(foo, 0, ary);
setTimeout(bar, 0, ary);
setTimeout(baz, 0, ary);
}
main([some large array]);
Da MDN setTimeout () :
Code executed by setTimeout() is run in a separate execution context to the function from which it was called.
Ma questo significa che viene eseguito in parallelo a qualsiasi altro codice attualmente in lavorazione?
Considerando l'esempio che ho postato sopra, supponendo che un array molto grande venga elaborato da 3 funzioni, ognuna eseguendo un'operazione molto lunga ma indipendente l'una dall'altra, le 3 funzioni saranno eseguite in parallelo?
C'è un modo per mostrare l'esecuzione di (più) setTimeouts
, magari usando Chrome Dev Tools?