async_signal 0.0.3 copy "async_signal: ^0.0.3" to clipboard
async_signal: ^0.0.3 copied to clipboard

Control the flow of asynchronous operations by signaling all the waiting tasks whether they should wait or continue at a specific point. Lock and unlock the flow.

Async Signal #

Control the flow of asynchronous operations by signaling all the waiting tasks whether they should wait or continue at a specific point.

Lock or unlock the flow.

Features #

  • Control the flow of asynchronous operations
  • Check the status of the signal
  • Wait for the signal to be unlocked

Getting started #

Install it using pub:

flutter pub add async_signal

And import the package:

import 'package:async_signal/async_signal.dart';

Usage #

final signal = AsyncSignal();

// Start with it locked
final signal = AsyncSignal(locked: true);

Lock or unlock to let everything waiting go through

signal.lock();
signal.unlock();

Wait for the signal to be unlocked, if it's already unlocked you will go right through it

await signal.wait();

Close the signal when you're done using it

signal.close();

Is this what you're looking for? #

async_signal allows you to control a flow, allowing multiple operations to continue at once only when you want, like opening a gate.

If what you're looking for is one by one like a queue, then check out the async_locks package.

GitHub #

The package code is available on Github: Dart - AsyncSignal

Example #

final signal = AsyncSignal(locked: true);

void getIn() async {
    await signal.wait();
    print('Finally, I\'m in!');
}

getIn();
print('Wait, I will open the door after 3 seconds.');

await Future.delayed(const Duration(seconds: 3));

print('Opening the door...');
signal.unlock();

// [Output]
// Wait, I will open the door after 3 seconds.

// 3 seconds later...

// [Output]
// Opening the door...
// Finally, I'm in!
2
likes
160
points
1.56k
downloads

Publisher

verified publisherdrafakiller.com

Weekly Downloads

Control the flow of asynchronous operations by signaling all the waiting tasks whether they should wait or continue at a specific point. Lock and unlock the flow.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

More

Packages that depend on async_signal