var xhr1 = new XMLHttpRequest();
var xhr2 = new XMLHttpRequest();
var xhr3 = new XMLHttpRequest();
var xhr4 = new XMLHttpRequest();
var xhr5 = new XMLHttpRequest();
xhr1.open('GET', 'mega_big_file', true);
xhr2.open('GET', 'mega_big_file', true);
xhr3.open('GET', 'mega_big_file', true);
xhr4.open('GET', 'mega_big_file', true);
xhr5.open('GET', 'mega_big_file', true);
xhr1.send();
xhr2.send();
xhr3.send();
xhr4.send();
xhr5.send();
И когда такие функции выполняются они попадают в свой специальный поток выполнения WebAPI и в этом своём потоке они между собой могут все параллельно выполнятся, не мешая главному потоку выполнения "обычного" (не вебапишного) js кода.
И в примерах с setTimeout() демонстрируют именно то, что таймеры, устанавливаемые этими функциями, отсчитываются параллельно, а не то, что после окончания таймера, callback-функции попадают в общую однопоточную очередь выполнения.
Я правильно понял?