asyncпакет
с апстрима
Пакет лежит в основном пуле хаба: короткой формы достаточно, если хаб прописан сервером пакетов в opm.cfg.
opm install asyncУстановка на opm младше 1.7.0
Легаси-флоу. Клиент младше 1.7.0 адрес пула в аргументе не разбирает: пул сначала прописывают сервером пакетов, и только потом ставят через него. На 1.7.0 и новее этот раздел не нужен — хватает команды из шапки страницы.
Добавьте пул сервером пакетов в opm.cfg. Порт продублирован в «Сервер»: у opm push поле «Порт» не читается.
{
"СервераПакетов": [
{
"Имя": "default",
"Сервер": "https://hub.1cdevelopers.ru",
"Порт": 443,
"ПутьНаСервере": "/api/v1/pools/default/download/",
"РесурсПубликацииПакетов": "/api/v1/pools/default/push",
"Приоритет": 1
}
]
}И ставьте пакет, указывая сервер:
opm install -m default asyncОписание
async
Асинх библиотека для реализации асинхронного взаимодействия для OneScript
Программный интерфейс
Модуль Обещания
ВыполнитьЛямбду
// Выполняет асинхронно переданную лямбду
//
// Параметры:
// Алгоритм - Строка - Лямбда выражение которое требуется исполнить
// Объект - Сценарий - Объект который необходимо захватить в лямбду
// Параметры - Массив из Произвольный - Параметры алгоритма
//
// Возвращаемое значение:
// Обещание - Обещание о выполнении переданного алгоритма
//
Функция ВыполнитьЛямбду(Знач Алгоритм, Объект, Параметры)
ВыполнитьДелегат
// Выполняет асинхронно переданный делегат
//
// Параметры:
// Действие - Действие - Делегат на метод который требуется исполнить
// Параметры - Массив из Произвольный - Параметры метода
//
// Возвращаемое значение:
// Обещание - Обещание о выполнении переданного метода
//
Функция ВыполнитьДелегат(Действие, Параметры)
ОжидатьВсе
// Ожидает исполнение всех переданных обещаний
//
// Параметры:
// Обещания - Массив из Обещание - Обещания которых ожидаем
// Таймаут - Число- Количество миллисекунд по истечении которых будет выброшено исключение
//
Процедура ОжидатьВсе(Обещания, Таймаут = 0) Экспорт
Класс Обещание
Получить
// Получает результат исполнения обещания
//
// Параметры:
// Таймаут - Число - Время в миллисекундах в течении которого нужно ожидать завершения задания,
// если время ожидания будет превышено, будет выброшено исключение
//
// Возвращаемое значение:
// Произвольный - Результат исполнения обещания
//
Функция Получить(Таймаут = 0)
Затем
// После получения результата запускает ещё одно задание которое будет асинхронно
// выполнять переданный алгоритм над результатом
//
// Параметры:
// Алгоритм - Строка - Лямбда выражение функция с одним параметром, которая принимает результат исполнения
// текущего обещания и возвращает новый результат
// - Действие - Делегат на функцию с одним параметром, которая принимает результат исполнения
// текущего обещания и возвращает новый результат
//
// Возвращаемое значение:
// Обещание - Обещание об исполнение алгоритма над результатом исполнения текущего обещания
//
Функция Затем(Знач Алгоритм)
Поймать
// В случае если в нижестоящих обещаниях будет выброшено исключение, оно будет перехвачено
// и передано в указанный алгоритм.
//
// Параметры:
// Алгоритм - Строка - Лямбда выражение функция с одним параметром, которая принимает ИнформацияОбОшибке
// нижестоящих обещаний и возвращает новый результат
// - Действие - Делегат на функцию с одним параметром, которая принимает ИнформацияОбОшибке
// нижестоящих обещаний и возвращает новый результат
//
// Возвращаемое значение:
// Обещание - Обещание о выполнении алгоритма в случае возникновения исключения
//
Функция Поймать(Алгоритм)
Состояние
// Возвращает текущее состояние исполнения обещания
//
// Возвращаемое значение:
// СостояниеФоновогоЗадания - Текущее состояние
//
Функция Состояние()