Асинхронные функции.
Обещание и Возвращающие Обещание в 1С 8.3
Обещание как аргумент оператора Ждать в 1С 8.3:
Асинх Процедура ВыполнениеПримераСАсих()
✍️ @odin1C_rus
Обещание и Возвращающие Обещание в 1С 8.3
Процедура ВыполнениеПримераСАсих()
Попытка
ВыполнениеКода();
Исключение
// Исключение из ВыполнениеКода() не будет перехвачено здесь
КонецПопытки
КонецПроцедуры
Асинх Функция ВыполнениеКода() // Всегда возвращает Обещание
ВызватьИсключение "Выброшено в ВыполнениеКода()";
//При успешном завершении в Обещание будет завернуто значение, которое было аргументом оператора Возврат.
//Если при выполнении Асинх функции произошло исключение, то в Обещание будет завернуто это исключение.
КонецФункции
Обещание как аргумент оператора Ждать в 1С 8.3:
Асинх Процедура ВыполнениеПримераСАсих()
Попытка
// Для того, чтобы узнать как завершилась Асинх функция – это использовать возвращенное ею Обещание как аргумент оператора Ждать.
Ждать ВыполнениеКода(Null);
Исключение
// Исключение из НеNull() будет перехвачено здесь
Сообщить("Передали Null");
КонецПопытки
КонецПроцедуры
Асинх Функция ВыполнениеКода(ПеремП) // Всегда возвращает Обещание
Если ПеремП = Null Тогда
ВызватьИсключение "Выброшено в ВыполнениеКода()";
Иначе
Возврат ПеремП;
КонецЕсли;
КонецФункции
// Асинх процедура не возвращает значения. А если при выполнении Асинх процедуры возникнет не перехваченное исключение,
// то это приведет к выдаче сообщения об ошибке.
✍️ @odin1C_rus