Enumeration: Priority
Перечисление уровней приоритета для команд, отправляемых редактору.
Приоритет определяет когда команда будет выполнена: немедленно или отложена на период низкой нагрузки.
Remarks
Использование приоритетов:
- High — критические операции (прямое действие пользователя)
- Normal — обычные операции (автосохранение, синхронизация)
- Low — фоновые операции (аналитика, оптимизация)
Как работает система приоритетов:
- High команды выполняются немедленно
- Normal команды выполняются когда система свободна
- Low команды выполняются в периоды низкой нагрузки
- Команды с одинаковым приоритетом обрабатываются в порядке очереди
Оптимизация:
- Система может батчить (группировать) команды одинакового приоритета
- High приоритет отключает батчирование (необходимо немедленное выполнение)
- Normal приоритет может использовать батчирование для оптимизации
- Low приоритет используется только когда нет более важных задач
Пример использования в updateUiNodes:
editorApi.ui.updateUiNodes(
[ ..updates],
Priority.High // Обновить немедленно
);
Enumeration Members
High
High:
0
Высокий приоритет — выполнить немедленно.
Remarks
Характеристики:
- Команда выполняется без задержки
- Не батчится с другими командами
- Имеет абсолютный приоритет над всеми операциями
- Используется для критически важных операций
Когда использовать:
- Прямые действия пользователя (кнопка нажата)
- Обновления UI на основе выбора пользователя
- Критические проверки состояния
- Оповещения об ошибках
Пример:
editorApi.ui.updateUiNodes(
[{
id: 'button-submit',
disabled: true,
}],
Priority.High // Отключить кнопку немедленно
);
Low
Low:
2
Низкий приоритет — выполнить в периоды низкой нагрузки.
Remarks
Характеристики:
- Команда выполняется только когда система не занята важными задачами
- Может быть отложена на длительное время
- Идеально для фоновых операций
- Имеет минимальный приоритет
Когда использовать:
- Аналитика и логирование
- Оптимизация кэша
- Фоновая индексация
- Очистка памяти
- Отправка телеметрии
- Обновления неважной информации (рекомендации, подсказки)
- Предварительная загрузка данных
Пример:
editorApi.ui.updateUiNodes(
[{
id: 'recommendations-panel',
content: 'Рекомендуемые действия...',
}],
Priority.Low // Обновить рекомендации когда время есть
);
Normal
Normal:
1
Нормальный приоритет — выполнить когда система свободна.
Remarks
Характеристики:
- Команда выполняется в обычном порядке обработки
- Может батчиться с похожими командами для оптимизации
- Система может отложить выполнение на несколько миллисекунд
- Подходит для большинства операций
Батчирование:
- Несколько команд Normal приоритета могут быть объединены
- Применяется для операций обновления UI
- Может улучшить производительность
Когда использовать:
- Автосохранение
- Синхронизация состояния
- Обновления результатов (если они не критичны)
- Обновления счётчиков, статистики
- Обновления по таймеру
Пример:
editorApi.ui.updateUiNodes(
[{
id: 'status-counter',
content: '1250 слов',
}],
Priority.Normal // По умолчанию, если не указан приоритет
);