$ .When.done () никогда не вызывается после выполнения вызовов ajax - PullRequest
0 голосов
/ 20 января 2019

Я хотел бы напечатать foobar после всех 5 вызовов ajax.Это означает, что даже 4 из них загружены, но 1 из них все еще загружается, "foobar" еще не будет напечатан.Я перепробовал много решений онлайн, но все еще не могу напечатать foobar после того, как все вызовы ajax сделаны.

const ajaxCall = (prop, url) => {
     return $.ajax({
        type: "GET",
        url: url,
        timeout: 18000000,
        success: function (data) {
          console.log(data);
          db[prop] = JSON.parse(data);
        },
        error: function (error) {
          console.log('ajax error');
        }
      });
}

const loadData = () => {
  let request_1 = ajaxCall('prop1','http://' + host + ':' + port + '/' + workspace + '/api/1.php');
  let request_2 = ajaxCall('prop2','http://' + host + ':' + port + '/' + workspace + '/api/2.php');
  let request_3 = ajaxCall('prop3','http://' + host + ':' + port + '/' + workspace + '/api/3.php');
  let request_4 = ajaxCall('prop4','http://' + host + ':' + port + '/' + workspace + '/api/4.php');
  let request_5 = ajaxCall('prop5','http://' + host + ':' + port + '/' + workspace + '/api/5.php');

    $.when(request_1,request_2, request_3, request_4, request_5)
    .done(() => {
        console.log('foobar');
    })
}

1 Ответ

0 голосов
/ 20 января 2019

Я только что обнаружил, что мой код действительно работает.Проблема вызвана проблемой подключения к БД.БД не подключена должным образом, но AJAX все равно отвечает как «сделано».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...