Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.08.2018, 08:42
Профессор
Отправить личное сообщение для Artur_Hopf Посмотреть профиль Найти все сообщения от Artur_Hopf
 
Регистрация: 13.03.2018
Сообщений: 278

Помогите с последовательностью в функции
Добрый день. Есть функция которая выполняет два get запроса. Помогите мне упорядочить действие чтобы передать массив после выполнения обоих запросов. Пример:

$(document).ready(function(){
    getData ();
});

function getData (){
    var array = [];
    
    $.getJSON('index', function(data) {
        data = data.toString().split(';');
        array[0] = [{name1: data[1], name2: +data[2]},{name1: data[10], name2: +data[11]}];
    });
    
    $.getJSON('index2', function(data) {
        data = data.toString().split(';');
        array[1] = [{name1: data[1], name2: +data[2]},{name1: data[10], name2: +data[11]}];

    }); 
    createData(array);
}

function createData(data){
     //data массив после получения данных;
};

В данном примере например нужно вызвать функцию createData() только после того как оба get запроса будут выполнены, а как это сделать я не очень понимаю. Выполняются они не одновременно.

Так я сделать не могу потому что get запрос может выполнятся порядка минуты, нужно чтобы они одновременно запускались:

$.getJSON('index', function(data) {
        data = data.toString().split(';');
        array[0] = [{name1: data[1], name2: +data[2]},{name1: data[10], name2: +data[11]}];
        $.getJSON('index2', function(data) {
                data = data.toString().split(';');
                array[1] = [{name1: data[1], name2: +data[2]},{name1: 
               data[10], name2: +data[11]}];
               createData(array);
        });  
});
Ответить с цитированием
  #2 (permalink)  
Старый 01.08.2018, 09:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Artur_Hopf,
$(function(){
    getData ();
});

function getData (){
    var array = [];

 var a = $.getJSON('index', function(data) {
        data = data.toString().split(';');
        array[0] = [{name1: data[1], name2: +data[2]},{name1: data[10], name2: +data[11]}];
    }),

 b = $.getJSON('index2', function(data) {
        data = data.toString().split(';');
        array[1] = [{name1: data[1], name2: +data[2]},{name1: data[10], name2: +data[11]}];

    });

 $.when(a, b).then(function() {createData(array);})


}

function createData(data){
     //data массив после получения данных;
};
Ответить с цитированием
  #3 (permalink)  
Старый 01.08.2018, 09:17
Профессор
Отправить личное сообщение для Artur_Hopf Посмотреть профиль Найти все сообщения от Artur_Hopf
 
Регистрация: 13.03.2018
Сообщений: 278

рони,
Спасибо большое
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пользовательские cобытия и функции jquery hurt3 jQuery 2 08.07.2013 09:13
Как в браузерах реализуются функции DOM (например createElement) iamme Общие вопросы Javascript 7 02.09.2011 20:26
динамическое содержимое функции alfmaster Общие вопросы Javascript 2 28.05.2011 17:10
Срочно, помогите с исправлением функции) Slawaq Элементы интерфейса 20 23.05.2010 19:48
Помогите прокомментировать функции ! Help!!! Deep Общие вопросы Javascript 4 24.05.2008 18:42