Możesz zrobić coś takiego.
function findIdealPoints(data){
var i = 0;
while (i < data.length){
loadAspectWithinRange('aspect', data[i]['lat'], data[i]['long'], 10,
compareWithAspect);
i++;
}
Zamiast wykonywać wywołanie Ajax dla każdego wystąpienia, wyślij obiekt danych do swojego wywołania
loadAspectWithinRange('aspect',data,10,compareWithAspect)
Następnie w żądaniu Ajax wyślij tablicę obiektów do swojej usługi i pobierz wyniki dla nich wszystkich zamiast jednego po drugim.
$.ajax({
url:"...",
data:{
attr1:'aspect',
points: data(here is the array retrieved from "getIdealData.php")
attr2: 10
},
success:function(data){
compareWithAspect(data)
}
})
W przetwarzaniu po stronie serwera zbuduj tablicę obiektów dla wszystkich elementów w getIdealData.php
punktów.
Będzie to lepsze niż robienie Ajax dla każdego elementu