asyncredux-throttle-mixin

Throttle AsyncRedux actions in Flutter apps with configurable millisecond windows.

238|39|Updated Aug 4, 2019
One-click install
npx skills add https://github.com/marcglasberg/async_redux --skill asyncredux-throttle-mixin
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: asyncredux-throttle-mixin
Source: https://github.com/marcglasberg/async_redux/tree/main/.claude/skills/asyncredux-throttle-mixin
Command: npx skills add https://github.com/marcglasberg/async_redux --skill asyncredux-throttle-mixin

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Throttle mixin prevents actions from running too frequently.

Core Features & Use Cases

  • Throttle control: Limit an action to at most once per specified millisecond window.
  • Freshness management: Data remains fresh until the throttle period expires, after which updates are allowed.
  • Flexible locking: Supports ignoreThrottle overrides, custom lock keys via lockBuilder, and conflict resolution.

Quick Start

To use, mix Throttle into your AppAction, override throttle to set duration, and dispatch with optional ignoreThrottle to bypass when needed.

Frequently Asked Questions about asyncredux-throttle-mixin

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

FAQPage Schema
How do I limit action dispatch frequency in Flutter AsyncRedux to prevent excessive API calls?

Bypassing throttle in AsyncRedux is possible by setting the ignoreThrottle flag during action dispatch. This provides flexible locking, allowing immediate execution for priority actions while maintaining standard rate limits for routine operations.

How does throttle freshness management work for periodic data refreshes in Flutter state management?

Throttle freshness management keeps data current until the throttle period expires, after which updates are allowed. This mechanism ensures periodic data refreshes occur at controlled intervals without overwhelming the system with rapid successive action dispatches.

Can I apply custom lock keys for throttle conflict resolution in AsyncRedux actions?

Yes, you can apply custom lock keys using the lockBuilder feature. This enables flexible locking and granular conflict resolution for concurrent actions, allowing different throttle locks to manage separate state management processes independently.

Do I need to override the throttle getter to set duration limits for Flutter actions?

Yes, you need to override the throttle getter in your AppAction class to set the duration limit. This defines the specific millisecond window during which subsequent action dispatches will be locked and ignored to maintain rate limits.

Why bypass rate limits on specific AsyncRedux actions without disabling throttle globally?

You bypass rate limits on specific actions using the ignoreThrottle override during dispatch. This allows priority operations to execute immediately without waiting for the throttle window to expire, while preserving standard rate limiting for routine tasks.