asyncredux-throttle-mixin

Throttle repeated AppAction dispatches within a configurable time window.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/pro100andrey/dar --skill asyncredux-throttle-mixin-pro100andrey
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: asyncredux-throttle-mixin
Source: https://github.com/pro100andrey/dar/tree/main/.claude/skills/asyncredux-throttle-mixin
Command: npx skills add https://github.com/pro100andrey/dar --skill asyncredux-throttle-mixin-pro100andrey

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Prevents rapid repeated dispatches by enforcing a throttle window for AppAction executions, reducing unnecessary work and server load.

Core Features & Use Cases

  • Configurable throttling: specify throttle duration in milliseconds.
  • Freshness-aware behavior: first dispatch runs immediately while subsequent ones within the window are aborted, with optional bypass via ignoreThrottle.
  • Use cases: data refresh, rate-limited API calls, and spam protection for user-triggered actions.

Quick Start

Extend AppAction with Throttle, override the throttle getter to set the duration, and optionally dispatch with ignoreThrottle to bypass the throttle.

Frequently Asked Questions about asyncredux-throttle-mixin

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I throttle rapid action dispatches in Flutter to prevent redundant API calls?

To throttle rapid action dispatches in Flutter, extend your AppAction with a Throttle mixin and configure the throttle duration in milliseconds. This allows the first dispatch to execute immediately while aborting subsequent calls within the configured window, preventing redundant API calls.

How do I bypass throttle protection for a forced data refresh in async-redux?

You can bypass throttle protection during forced data refreshes by dispatching your AppAction with the ignoreThrottle flag. This bypasses the throttle window, allowing immediate execution of rate-limited actions when a manual refresh is required.

Does throttle lock behavior persist across errors in async-redux state management?

Throttle protection persists across errors to ensure failed dispatches do not reset the rate limit, blocking subsequent attempts within the window. It exposes specific hooks to manually remove locks, ensuring consistent state management.

Can I apply per-key lock keys to isolate throttle behavior for specific data refresh actions?

You can isolate throttle behavior for specific data refresh actions by implementing the lockBuilder property. This creates optional per-key lock keys, preventing overlapping throttle windows from blocking unrelated concurrent dispatches.

Why should I use a throttle mixin for Flutter state management?

Throttling AppAction dispatches with async-redux reduces unnecessary work and server load by blocking redundant executions. It ensures rapid repeated user-triggered actions, like data refreshes, execute only once per defined time window.

How do I configure throttle duration in async-redux to limit rapid action dispatches?

To configure throttle duration in async-redux, extend your AppAction with the Throttle mixin and override the throttle getter to specify the duration in milliseconds. This defines the window where subsequent dispatches are aborted.