Если вы используете вызов AJAX, я бы поместил (второй) вызов, который зависит от первого набора данных, в обработчик обратного вызова первого вызова:
Использование jQuery:
jQuery.ajax({
url: url, /* first call */
data: myData,
cache: false,
success: function(data) {
/* ... processing code ... */
jQuery.ajax({
url: url, /* second call */
data: someMoreData,
cache: false,
success: function(data) {
/* ... processing code ... */
}
});
}
});
Вот еще одно решение, которое делает это параллельно:
var requestOneCompleted = false;
var requestTwoCompleted = false;
jQuery.ajax({
url: url, /* first call */
data: myData,
cache: false,
success: function(data) {
/* ... processing code ... */
requestOneCompleted = true;
}
});
jQuery.ajax({
url: url, /* second call */
data: someMoreData,
cache: false,
success: function(data) {
/* ... processing code ... */
requestTwoCompleted = true;
}
});
setInterval(function() {
if(requestOneCompleted && requestTwoCompleted) {
doStuffWithData();
}
}, 250);
Примечание Я не проверял это.