Перейти к основному содержимому
Версия: 26.1.0 (в разработке)

Enumeration: Priority

Перечисление уровней приоритета для команд, отправляемых редактору.

Приоритет определяет когда команда будет выполнена: немедленно или отложена на период низкой нагрузки.

Remarks

Использование приоритетов:

  • High — критические операции (прямое действие пользователя)
  • Normal — обычные операции (автосохранение, синхронизация)
  • Low — фоновые операции (аналитика, оптимизация)

Как работает система приоритетов:

  1. High команды выполняются немедленно
  2. Normal команды выполняются когда система свободна
  3. Low команды выполняются в периоды низкой нагрузки
  4. Команды с одинаковым приоритетом обрабатываются в порядке очереди

Оптимизация:

  • Система может батчить (группировать) команды одинакового приоритета
  • High приоритет отключает батчирование (необходимо немедленное выполнение)
  • Normal приоритет может использовать батчирование для оптимизации
  • Low приоритет используется только когда нет более важных задач

Пример использования в updateUiNodes:

editorApi.ui.updateUiNodes(
[ ..updates],
Priority.High // Обновить немедленно
);

Enumeration Members

High

High: 0

Высокий приоритет — выполнить немедленно.

Remarks

Характеристики:

  • Команда выполняется без задержки
  • Не батчится с другими командами
  • Имеет абсолютный приоритет над всеми операциями
  • Используется для критически важных операций

Когда использовать:

  • Прямые действия пользователя (кнопка нажата)
  • Обновления UI на основе выбора пользователя
  • Критические проверки состояния
  • Оповещения об ошибках

Пример:

editorApi.ui.updateUiNodes(
[{
id: 'button-submit',
updates: { disabled: true }
}],
Priority.High // Отключить кнопку немедленно
);

Low

Low: 2

Низкий приоритет — выполнить в периоды низкой нагрузки.

Remarks

Характеристики:

  • Команда выполняется только когда система не занята важными задачами
  • Может быть отложена на длительное время
  • Идеально для фоновых операций
  • Имеет минимальный приоритет

Когда использовать:

  • Аналитика и логирование
  • Оптимизация кэша
  • Фоновая индексация
  • Очистка памяти
  • Отправка телеметрии
  • Обновления неважной информации (рекомендации, подсказки)
  • Предварительная загрузка данных

Пример:

editorApi.ui.updateUiNodes(
[{
id: 'recommendations-panel',
updates: { content: 'Рекомендуемые действия...' }
}],
Priority.Low // Обновить рекомендации когда время есть
);

Normal

Normal: 1

Нормальный приоритет — выполнить когда система свободна.

Remarks

Характеристики:

  • Команда выполняется в обычном порядке обработки
  • Может батчиться с похожими командами для оптимизации
  • Система может отложить выполнение на несколько миллисекунд
  • Подходит для большинства операций

Батчирование:

  • Несколько команд Normal приоритета могут быть объединены
  • Применяется для операций обновления UI
  • Может улучшить производительность

Когда использовать:

  • Автосохранение
  • Синхронизация состояния
  • Обновления результатов (если они не критичны)
  • Обновления счётчиков, статистики
  • Обновления по таймеру

Пример:

editorApi.ui.updateUiNodes(
[{
id: 'status-counter',
updates: { content: '1250 слов' }
}],
Priority.Normal // По умолчанию, если не указан приоритет
);