Skip to content

sfaqer/async

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

async

Асинх библиотека для реализации асинхронного взаимодействия для OneScript

Программный интерфейс

Модуль Обещания

ВыполнитьЛямбду

// Выполняет асинхронно переданную лямбду
//
// Параметры:
//  Алгоритм  - Строка - Лямбда выражение которое требуется исполнить
//  Объект    - Сценарий - Объект который необходимо захватить в лямбду
//  Параметры - Массив из Произвольный - Параметры алгоритма
//
// Возвращаемое значение:
//  Обещание - Обещание о выполнении переданного алгоритма
//
Функция ВыполнитьЛямбду(Знач Алгоритм, Объект, Параметры)

ВыполнитьДелегат

// Выполняет асинхронно переданный делегат
//
// Параметры:
//  Действие  - Действие - Делегат на метод который требуется исполнить
//  Параметры - Массив из Произвольный - Параметры метода
//
// Возвращаемое значение:
//  Обещание - Обещание о выполнении переданного метода
//
Функция ВыполнитьДелегат(Действие, Параметры)

ОжидатьВсе

// Ожидает исполнение всех переданных обещаний
//
// Параметры:
//  Обещания - Массив из Обещание - Обещания которых ожидаем
//  Таймаут -  Число- Количество миллисекунд по истечении которых будет выброшено исключение
//
Процедура ОжидатьВсе(Обещания, Таймаут = 0) Экспорт

Класс Обещание

Получить

// Получает результат исполнения обещания
//
// Параметры:
//  Таймаут - Число - Время в миллисекундах в течении которого нужно ожидать завершения задания,
//   если время ожидания будет превышено, будет выброшено исключение
//
// Возвращаемое значение:
//  Произвольный - Результат исполнения обещания
//
Функция Получить(Таймаут = 0)

Затем

// После получения результата запускает ещё одно задание которое будет асинхронно
//  выполнять переданный алгоритм над результатом
//
// Параметры:
//  Алгоритм - Строка - Лямбда выражение функция с одним параметром, которая принимает результат исполнения
//   текущего обещания и возвращает новый результат
//           - Действие - Делегат на функцию с одним параметром, которая принимает результат исполнения
//   текущего обещания и возвращает новый результат
//
// Возвращаемое значение:
//  Обещание - Обещание об исполнение алгоритма над результатом исполнения текущего обещания
//
Функция Затем(Знач Алгоритм)

Поймать

// В случае если в нижестоящих обещаниях будет выброшено исключение, оно будет перехвачено
//  и передано в указанный алгоритм.
//
// Параметры:
//  Алгоритм - Строка - Лямбда выражение функция с одним параметром, которая принимает ИнформацияОбОшибке
//   нижестоящих обещаний и возвращает новый результат
//           - Действие - Делегат на функцию с одним параметром, которая принимает ИнформацияОбОшибке
//   нижестоящих обещаний и возвращает новый результат
//
// Возвращаемое значение:
//  Обещание - Обещание о выполнении алгоритма в случае возникновения исключения
//
Функция Поймать(Алгоритм)

Состояние

// Возвращает текущее состояние исполнения обещания
//
// Возвращаемое значение:
//  СостояниеФоновогоЗадания - Текущее состояние
//
Функция Состояние()