Поскольку мне нужно вызвать бранч данных, чтобы сделать диаграмму, мне нужно позвонить 10 или более различные API, так что я создал функцию как этогоAjax: Call несколько API с циклом
function trend1() {
return $.ajax({
url: '/dashboard/getTrend' + '?period=30d' + "&profileId=" + $(".numberOfProfile0").html(), //getting the api
type: 'get',
success: function(data) {
}
});
}
function trend2() {
return $.ajax({
url: '/dashboard/getTrend' + '?period=30d' + "&profileId=" + $(".numberOfProfile1").html(), //getting the api
type: 'get',
success: function(data) {
}
});
}
function trend3() {
return $.ajax({
url: '/dashboard/getTrend' + '?period=30d' + "&profileId=" + $(".numberOfProfile2").html(), //getting the api
type: 'get',
success: function(data) {
}
});
}
function trend4() {
return $.ajax({
url: '/dashboard/getTrend' + '?period=30d' + "&profileId=" + $(".numberOfProfile3").html(), //getting the api
type: 'get',
success: function(data) {
}
});
}
function trend5() {
return $.ajax({
url: '/dashboard/getTrend' + '?period=30d' + "&profileId=" + $(".numberOfProfile4").html(), //getting the api
type: 'get',
success: function(data) {
}
});
}
function trend6() {
return $.ajax({
url: '/dashboard/getTrend' + '?period=30d' + "&profileId=" + $(".numberOfProfile5").html(), //getting the api
type: 'get',
success: function(data) {
}
});
}
function trend7() {
return $.ajax({
url: '/dashboard/getTrend' + '?period=30d' + "&profileId=" + $(".numberOfProfile6").html(), //getting the api
type: 'get',
success: function(data) {
}
});
}
function trend8() {
return $.ajax({
url: '/dashboard/getTrend' + '?period=30d' + "&profileId=" + $(".numberOfProfile7").html(), //getting the api
type: 'get',
success: function(data) {
}
});
}
function trend9() {
return $.ajax({
url: '/dashboard/getTrend' + '?period=30d' + "&profileId=" + $(".numberOfProfile8").html(), //getting the api
type: 'get',
success: function(data) {
}
});
}
function trend10() {
return $.ajax({
url: '/dashboard/getTrend' + '?period=30d' + "&profileId=" + $(".numberOfProfile9").html(), //getting the api
type: 'get',
success: function(data) {
}
});
}
$.when(trend1(), trend2(), trend3(), trend4(), trend5(), trend6(), trend7(), trend8(), trend9(), trend10()).done(function(trend1_data, trend2_data, trend3_data, trend4_data, trend5_data, trend6_data, trend7_data, trend8_data, trend9_data, trend10_data) {
//do something
})
Как МАЯ Я помещал этот массивный код в цикл for? ajax позволяет мне это делать?
UPDATE 1:
function trend0()...
function trend1()...
function trend2()...
function trend3()...
....
$.when(trend1(), trend2()).done(function(trend1_data, trend2_data) {
for (var i = 0; i<N; i++) // with N your n* of cycles
eval("trend" + i + "()");
}
}
я делаю что-то вроде ниже?
Решение:
var i = "";
for (var i=0; i<5; i++) {
var trend = function(i) {
if ($(".numberOfProfile"+i).length) {
return $.ajax({
url: '/dashboard/getTrend' + '?period=30d' + "&profileId=" + $(".numberOfProfile"+ i).html(), //getting the api
type: 'get',
success: function(data) {
}
});
}
else
{
return false;
}
}
i++
}
, поэтому мне больше не нужно использовать $ .when()? – anson920520
Можете ли вы взглянуть на мое решение? скажите, пожалуйста, что-нибудь, что я могу улучшить. Спасибо! – anson920520