Рецепты

Управление вводом через Throttle

Выберите режим `leading`, `trailing` или `leadingAndTrailing` для группы Command.

v0.1.0-dev.2Средний уровеньusecase_forge

Управление вводом через Throttle

Throttle определяет, как часто связанные Command проходят стадию допуска. Он не ограничивает число уже допущенных Execution.

Выберите режим Throttle

РежимПервый CommandПоследний Command в окнеКогда применять
leadingдопускается сразуотклоняетсяважен немедленный отклик
trailingждёт конца окназаменяет сохранённого кандидатаважен только последний ввод
leadingAndTrailingдопускается сразусохраняется до конца окнанужны первое и итоговое значения
dart
registerCommand<RefreshMetrics>(
  _refresh,
  instructions: UseCaseInstructionOverrides(
    input: UseCaseInputInstructionOverrides(
      throttle: UseCaseThrottleInstructions(
        duration: const Duration(seconds: 1),
        mode: UseCaseThrottleMode.leadingAndTrailing,
      ),
    ),
  ),
);

RefreshMetrics.executionKey должен обозначать dashboard или ресурс, чьи обновления принадлежат одной группе. Другой точный тип или ключ получает независимое окно.

Наблюдайте отклонения явно

Промежуточные Command передаются в onCommandRejected с причиной throttled и не попадают в конечную историю. Если каждое намерение обязано выполниться, нужен не Throttle, а последовательный режим обработки.

ARKTELOS

Инженерные системы для программного обеспечения, которое обязано выдерживать нагрузку.