Сделал так, как вы привели в примере. В итоге он всё равно в начале готовит очередь и ничего не показывает. А потом резко начинает её выдавать и уже не остановится. Если смотреть в консоле-то он всё подгатавливает в начале, а потом только выполняет запросы и показывает на странице. А так пользователь не знает в какой момент сделать остановку, ибо на странице ничего нет по началу. А когда появляется-то очередь уже готова и будет отрабатывать до конца.
О. А точнее она просто теперь не прерывается, и значение bool переменнй не меняется, даже стр не обновляется пока цикл не закончится
Но спасибо за помощь.
function HousesInCisy()
{
var list = document.getElementById('result');
if (EACH_STATE_ACTIVE === false || !Streets.length)
{
console.log(Streets);
var newDiv = document.createElement('div');
newDiv.innerHTML = "Готово или остановленно";
list.appendChild(newDiv);
return;
}
else
{
Zapros(Streets.shift(),list);
}
}
function Zapros(AllStreet,list)
{
console.log(AllStreet);
params = {
function : 'HouseForStreets',
CityList: CityData.id,
country: CityData.c_country,
nameCity: CityData.c_name,
latitude: CityData.c_latitude,
longitude: CityData.c_longitude,
id_street: AllStreet.id,
name_street: AllStreet.c_street_name
};
$.ajax({
type:'get',
url:'yandex_houses_functions.php',
action:'HouseForStreets',
dataType:'json',
data: params,
success:function (result )
{ if (result.status === false)
{
var newDiv = document.createElement('div');
newDiv.innerHTML = result.text+result.fail+result.dump;
list.appendChild(newDiv);
} }
});
HousesInCisy();
}