Можете да направите нещо подобно.
function findIdealPoints(data){
var i = 0;
while (i < data.length){
loadAspectWithinRange('aspect', data[i]['lat'], data[i]['long'], 10,
compareWithAspect);
i++;
}
Вместо да правите извикване на Ajax за всяко събитие, изпратете обекта с данни към вашето повикване
loadAspectWithinRange('aspect',data,10,compareWithAspect)
След това в заявката на Ajax изпратете масива от обекти към вашата услуга и извлечете резултатите за всички, вместо един по един.
$.ajax({
url:"...",
data:{
attr1:'aspect',
points: data(here is the array retrieved from "getIdealData.php")
attr2: 10
},
success:function(data){
compareWithAspect(data)
}
})
В обработката от страна на сървъра изградете масив от обекти за всички елементи в getIdealData.php
точки.
Това ще бъде по-добре, вместо да правите Ajax за всеки елемент