Документация для разработчиков

BX24.callBatch

В некоторых случаях возникает необходимость отправить несколько запросов подряд. Например, при создании необходимых сущностей в процессе инсталляции приложения. Для оптимизации процесса можно использовать пакетное выполнение запросов.

void BX24.callBatch(
	Object|Array calls,
	[Function callback[,
	Boolean bHaltOnError = false]]
);

В случае вызова до BX24.init выполнение запроса будет отложено.

Функция отправляет пакет запросов к REST-сервису.

Параметры

Параметр Описание
calls Обычный или ассоциативный массив (объект) с запросами. Каждый запрос представляет собой либо массив [имя_метода, параметры_метода], либо объект {method: имя_метода, params: параметры_метода}. В параметрах методов можно использовать макросы, позволяющие получить доступ к результатам предыдущих запросов текущего пакета. Макрос можно составить примерно так: $result[идентификатор_запроса][поле_ответа], где идентификатором запроса служит его ключ в массиве пакета запросов.
callback Функция-обработчик результата пакетного запроса. На вход получит массив или ассоциативный массив (объект) объектов ajaxResult с ключами, соответствующими ключам из пакета запросов.
bHaltOnError Флаг "прерывать исполнение пакета в при возникновении ошибки". По умолчанию - false (не прерывать).

Пример

BX24.callBatch({
	get_user: ['user.current', {}],
	get_department: {
		method: 'department.get',
		params: {
			ID: '$result[get_user][UF_DEPARTMENT]'
		}
	}
}, function(result)
{
	var l = result.get_department.data().length;
	var str = 'Текущий пользователь ' + result.get_user.data().NAME + ' ' + result.get_user.data().LAST_NAME + ' приписан к подразделени' + (l > 1 ? 'ям ' : 'ю ');

	for(var i = 0; i < l; i++)
	{
		str += i == 0 ? '' : ', ';
		str += result.get_department.data()[i].NAME;
	}

	alert(str);
});

Смотри также



Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх