armyknife_task_queue 1.0.0+1 copy "armyknife_task_queue: ^1.0.0+1" to clipboard
armyknife_task_queue: ^1.0.0+1 copied to clipboard

Light-Weight Task Queue for Dart.

Task Queue #

順番を保ったタスク実行を可能にする軽量なキューイングシステムを提供するFlutterパッケージです。

機能 #

  • 追加した順番にタスクを実行
  • 同期処理のシンプルな実装
  • 非同期タスクの順序付き実行
  • タスクの完了を待機する機能

導入方法 #

pubspec.yamlに依存関係を追加します:

dependencies:
  task_queue: ^1.0.0

パッケージをインポートします:

import 'package:armyknife_task_queue/armyknife_task_queue.dart';

使用方法 #

基本的な使い方 #

// TaskQueueのインスタンスを作成
final taskQueue = TaskQueue();

// タスクをキューに追加
await taskQueue.queue(() async {
  // 最初に実行されるタスク
  await Future.delayed(Duration(seconds: 1));
  return '最初のタスク完了';
});

// 別のタスクを追加(前のタスクが完了するまで実行されない)
final result = await taskQueue.queue(() async {
  // 2番目に実行されるタスク
  await Future.delayed(Duration(seconds: 1));
  return '2番目のタスク完了';
});

print(result); // '2番目のタスク完了'と出力

すべてのタスクの完了を待機 #

// 複数のタスクを追加
for (int i = 0; i < 5; i++) {
  taskQueue.queue(() async {
    await Future.delayed(Duration(seconds: 1));
    print('タスク $i 完了');
  });
}

// すべてのタスクが完了するまで待機
await taskQueue.join();
print('すべてのタスク完了');

キューの状態確認 #

if (taskQueue.isEmpty) {
  print('実行待ちのタスクはありません');
}

if (taskQueue.isNotEmpty) {
  print('まだ実行待ちのタスクがあります');
}

その他の情報 #

0
likes
135
points
86
downloads

Publisher

verified publishereaglesakura.com

Weekly Downloads

Light-Weight Task Queue for Dart.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

synchronized

More

Packages that depend on armyknife_task_queue