FLimitExtensions extension
Extension methods for FLimit
Provides additional functionality like concurrent mapping, filtering, iteration, and idle detection.
Example:
final limit = fLimit(2);
// Map items concurrently
final items = [1, 2, 3, 4, 5];
final results = await limit.map(items, (i) async => i * 2);
// Wait for all tasks to complete
await limit.onIdle;
print('All done!');
- on
Methods
-
filter<
Item> (Iterable< Item> items, Future<bool> predicate(Item item), {int priority = 0, Duration? timeout, RetryPolicy? retry, TaskTimeouts? timeouts}) → Future<List< Item> > -
Available on FLimit, provided by the FLimitExtensions extension
Filtersitemsconcurrently using thepredicatefunction. -
forEach<
Item> (Iterable< Item> items, Future<void> action(Item item), {int priority = 0, Duration? timeout, RetryPolicy? retry, TaskTimeouts? timeouts}) → Future<void> -
Available on FLimit, provided by the FLimitExtensions extension
Executesactionfor each item initemsconcurrently with the concurrency limit. -
forEachSettled<
Item> (Iterable< Item> items, Future<void> action(Item item), {int priority = 0, Duration? timeout, RetryPolicy? retry, TaskTimeouts? timeouts}) → Future<List< SettledResult< >void> > -
Available on FLimit, provided by the FLimitExtensions extension
Executesactionfor each item and returns settled outcomes. -
map<
Item, Result> (Iterable< Item> items, Future<Result> mapper(Item item), {int priority = 0, Duration? timeout, RetryPolicy? retry, TaskTimeouts? timeouts}) → Future<List< Result> > -
Available on FLimit, provided by the FLimitExtensions extension
Maps theitemsto futures using themapperfunction, respecting the concurrency limit. -
mapIndexed<
Item, Result> (Iterable< Item> items, Future<Result> mapper(int index, Item item), {int priority = 0, Duration? timeout, RetryPolicy? retry, TaskTimeouts? timeouts}) → Future<List< Result> > -
Available on FLimit, provided by the FLimitExtensions extension
Executes tasks and collects results with their indices. -
mapSettled<
Item, Result> (Iterable< Item> items, Future<Result> mapper(Item item), {int priority = 0, Duration? timeout, RetryPolicy? retry, TaskTimeouts? timeouts}) → Future<List< SettledResult< >Result> > -
Available on FLimit, provided by the FLimitExtensions extension
Mapsitemsand captures both successes and failures without throwing. -
reduce<
Item> (Iterable< Item> items, Future<Item> combine(Item a, Item b), {int priority = 0, Duration? timeout, RetryPolicy? retry, TaskTimeouts? timeouts}) → Future<Item> -
Available on FLimit, provided by the FLimitExtensions extension
Reducesitemsto a single value usingcombinefunction.