menu
Меню
Drakon.Tech logo
Drakon.Tech
Начать работу
Документация по Drakon.TechПрограммирование на языке ДРАКОНОсновы программирования в Drakon.TechПродвинутые темы программированияasync/awaitАвтоматное программированиеМодули и зависимостиСовместная работаРабота с системами контроля версийПримеры игрThe source codeLegacy tutorials (JavaScript 0.2)

async/await

Ru | En

Исходный код: Async/await

Drakon.Tech поддерживает выражения await. Ключевое слово await разрешено только в async-функциях.

В выражениях await в Drakon.Tech можно использовать внешние JavaScript-функции, возвращающие Promise. async-функции Drakon.Tech можно использовать в выражениях await во внешнем коде JavaScript.

Как сделать async-функцию в Drakon.Tech

  1. Щёлкните правой кнопкой мыши на заголовке функции.
  2. Выберите "Свойства".
  3. Установите тип функции "Async function".
Как сделать async-функцию в Drakon.Tech

Вы этом примере мы вызываем REST API с применением ключевого слова await. Вызов веб-сёрвиса — отличный пример длительной операции, для которой хорошо подходит await. Ожидание в await не блокирует движок JavaScript, и браузер может в это время обрабатывать другие события.

Пример выражения await в Drakon.Tech

async-функции в Drakon.Tech являются конечными автоматами, которые могут принимать сообщения. Другими словами, async-функции в Drakon.Tech — инструмент автоматного программирования. Об этом, однако, надо знать, только если вы собираетесь посылать информацию функциям, которые выполняются длительное время.

Как ловить исключения в async-функциях

Drakon.Tech запрещает конструкции try-catch в async-функциях. Чтобы поймать исключение в async-функции, примените выражение on error goto X.

  1. Преобразуйте async-функцию в силуэт.
  2. Выберите ветку для обработки ошибок.
  3. Щёлкните правой кнопкой мыши на заголовке функции и выберите "Свойства".
  4. Добавьте эту строку в поле Параметры: on error goto BranchName.
Как ловить исключения в async-функциях в Drakon.Tech

Чтобы получить ссылку на объект-ошибку в ветке-обработчике, используйте функцию getHandlerData().

Исходный код: Async/await
close
Закрыть
Drakon.Tech logo
Drakon.Tech - начало
Программирование на языке ДРАКОНОсновы программирования в Drakon.TechПродвинутые темы программированияThe source codeLegacy tutorials (JavaScript 0.2)