TaskGroup::spawnWithKey
(PHP 8.6+, True Async 1.0)
php
public TaskGroup::spawnWithKey(string|int $key, callable $task, mixed ...$args): voidДодає callable до групи з вказаним ключем. Результат задачі буде доступний за цим ключем в all(), getResults() та під час ітерації.
Параметри
key : Ключ задачі. Рядок або ціле число. Дублікати не допускаються.
task : Callable для виконання.
args : Аргументи, що передаються до callable.
Помилки
Кидає Async\AsyncException, якщо група запечатана або ключ вже існує.
Приклади
Приклад #1 Іменовані задачі
php
<?php
use Async\TaskGroup;
spawn(function() {
$group = new TaskGroup();
$group->spawnWithKey('profile', fn() => ['name' => 'John']);
$group->spawnWithKey('orders', fn() => [101, 102, 103]);
$group->seal();
$results = $group->all();
var_dump($results['profile']); // array(1) { ["name"]=> string(4) "John" }
var_dump($results['orders']); // array(3) { [0]=> int(101) ... }
});Дивіться також
- TaskGroup::spawn --- Додати задачу з автоматично збільшуваним ключем
- TaskGroup::all --- Дочекатися всіх задач