Отправить пакет запросов BX24.callBatch
В некоторых случаях возникает необходимость отправить несколько запросов подряд. Например, при создании необходимых сущностей в процессе инсталляции приложения. Для оптимизации процесса можно использовать пакетное выполнение запросов.
void BX24.callBatch(
Object|Array calls,
[Function callback[,
Boolean bHaltOnError = false]]
);
Функция BX24.callBatch отправляет пакет запросов к REST-сервису. В случае вызова до BX24.init выполнение запроса будет отложено.
Параметры
Обязательные параметры отмечены *
|
Название |
Описание |
|
Обычный или ассоциативный массив (объект) с запросами. Каждый запрос представляет собой либо массив В параметрах методов можно использовать макросы, позволяющие получить доступ к результатам предыдущих запросов текущего пакета. Макрос можно составить примерно так: |
|
|
callback |
Функция-обработчик результата пакетного запроса. На вход получит массив или ассоциативный массив (объект) объектов ajaxResult с ключами, соответствующими ключам из пакета запросов |
|
bHaltOnError |
Флаг «прерывать исполнение пакета в при возникновении ошибки». По умолчанию — |
Пример
BX24.init(() => {
const prepareMessage = (name, lastName, departmentNumber) => {
return `The current user ${name} ${lastName} is assigned to the departmen${departmentNumber > 1 ? 'ts ' : 't '}`;
};
BX24.callBatch({
get_user: ['user.current', {}],
get_department: {
method: 'department.get',
params: {
ID: '$result[get_user][UF_DEPARTMENT]',
},
},
}, (result) => {
if (result.get_user.error() || result.get_department.error())
{
if (result.get_user.error())
{
console.error(result.get_user.error());
}
if (result.get_department.error())
{
console.error(result.get_department.error());
}
}
else
{
const departmentNumber = result.get_department.data().length;
let message = prepareMessage(result.get_user.data().NAME, result.get_user.data().LAST_NAME, departmentNumber);
for (let i = 0; i < departmentNumber; i++)
{
message += i === 0 ? '' : ', ';
message += result.get_department.data()[i].NAME;
}
alert(message);
}
}, true);
});
Как использовать примеры в документации
Продолжите изучение
- Вызвать интерфейс регистрации нового обработчика события callBind
- Вызвать интерфейс удаления зарегистрированного обработчика события BX24.callUnbind
- Вызвать метод REST-сервиса с указанными параметрами BX24.callMethod