var data;
var states = 50000;
for (var i in domen) {
  loadTest(domen[i],i);
}
function loadTest(domen,number) {
  if (number == 1){
    $.getJSON(domen+"/test.json", function(data) {
      load2(domen,data);
states = 0;
    });
  } else {
    setTimeout(function() {load2(domen,data);},states);
  }
}
Появилась мысль. Все последующие load2 можно поместить в таймер setTimeout. Но как-то можно время сробатывания таймера запускать с переменной, допустим json загрузился отправляем states = 0 и все таймеры сработают.