async/await
Ru | En
Drakon.Tech поддерживает выражения await. Ключевое слово await разрешено только в async-функциях.
В выражениях await в Drakon.Tech можно использовать внешние JavaScript-функции, возвращающие Promise. async-функции Drakon.Tech можно использовать в выражениях await во внешнем коде JavaScript.
Как сделать async-функцию в Drakon.Tech
- Щёлкните правой кнопкой мыши на заголовке функции.
- Выберите "Свойства".
- Установите тип функции "Async function".
Вы этом примере мы вызываем REST API с применением ключевого слова await. Вызов веб-сёрвиса — отличный пример длительной операции, для которой хорошо подходит await. Ожидание в await не блокирует движок JavaScript, и браузер может в это время обрабатывать другие события.
async-функции в Drakon.Tech являются конечными автоматами, которые могут принимать сообщения. Другими словами, async-функции в Drakon.Tech — инструмент автоматного программирования. Об этом, однако, надо знать, только если вы собираетесь посылать информацию функциям, которые выполняются длительное время.
Как ловить исключения в async-функциях
Drakon.Tech запрещает конструкции try-catch в async-функциях. Чтобы поймать исключение в async-функции, примените выражение on error goto X.
- Преобразуйте async-функцию в силуэт.
- Выберите ветку для обработки ошибок.
- Щёлкните правой кнопкой мыши на заголовке функции и выберите "Свойства".
- Добавьте эту строку в поле Параметры: on error goto BranchName.
Чтобы получить ссылку на объект-ошибку в ветке-обработчике, используйте функцию getHandlerData().