Мне любопытно, считается ли это хорошей практикой или что может быть лучше. Скажем, например, я должен сделать два или более вызовов ajax подряд и дождаться завершения всех, прежде чем продолжить. Также в этом случае я использую JSONP для вызова службы на отдельном порту (та же самая политика происхождения).
$(document).ready(function() {
var semaphore = 0;
var proceed = function() { ... };
goAjax('arg0', function(data) {
semaphore++;
checkStatus(semaphore, proceed);
});
goAjax('arg1', function(data) {
semaphore++;
checkStatus(semaphore, proceed);
});
}
function checkStatus(sem, callback)
{
if (sem == 2)
{
callback();
}
}
function goAjax(args, callback) {
$.ajax({
...
dataType: "jsonp",
success: function(data) {
callback(data);
},
});
}