2

Есть следующий код. Мне необходимо получить в функцию add_main_menu результаты 3 запросов ajax. Одним запросом вытянуть возможности нету, так как там разные виды объектов.

 <script>
      var main_cat;
      var sub_cat;
      var subsub_cat;
      ajax_get('http://localhost:8081/get-main-cat/', function(data) {
          main_cat = data;
      });
      ajax_get('http://localhost:8081/get-sub-cat/', function(data) {
          sub_cat = data;
      });
      ajax_get('http://localhost:8081/get-sub-sub-cat/', function(data) {
          subsub_cat = data;   
      });
      add_main_menu(main_cat, sub_cat, subsub_cat);
  </script>

Пример не работает. Данные выводятся по отдельности в каждом запросе, но в функцию не попадают.

Wolframm
  • 505
  • 1
    @diraria пожалуйста, обратите внимание, что тут делается несколько одновременных запросов. Указанный вами вопрос этот случай обходит стороной. – Pavel Mayorov Sep 24 '18 at 10:17

1 Answers1

1
  var main_cat;
  var sub_cat;
  var subsub_cat;
  ajax_get('http://localhost:8081/get-main-cat/', function(data) {
      main_cat = data;
      checkAndAddMainMenu();
  });
  ajax_get('http://localhost:8081/get-sub-cat/', function(data) {
      sub_cat = data;
      checkAndAddMainMenu();
  });
  ajax_get('http://localhost:8081/get-sub-sub-cat/', function(data) {
      subsub_cat = data;   
      checkAndAddMainMenu();
  });
  function checkAndAddMainMenu() {
    if (main_cat && sub_cat && subsub_cat)
      add_main_menu(main_cat, sub_cat, subsub_cat);  
  }
diralik
  • 9,395