TaskGroup::getResults

(PHP 8.6+, True Async 1.0)

public TaskGroup::getResults(): array

Повертає масив результатів успішно завершених задач. Ключі масиву відповідають ключам, призначеним через spawn() (автоінкремент) або spawnWithKey() (користувацький).

Метод не очікує завершення задач — він повертає лише результати, доступні на момент виклику.

Значення, що повертається

array<int|string, mixed>, де ключ — ідентифікатор задачі, а значення — результат виконання.

Приклади

Приклад #1 Отримання результатів після all()

<?php

use Async\TaskGroup;

spawn(function() {
    $group = new TaskGroup();

    $group->spawnWithKey('user', fn() => ['name' => 'Alice']);
    $group->spawnWithKey('orders', fn() => [101, 102]);

    $group->seal();
    $group->all();

    $results = $group->getResults();
    // ['user' => ['name' => 'Alice'], 'orders' => [101, 102]]
});

Приклад #2 Результати не містять помилок

<?php

use Async\TaskGroup;

spawn(function() {
    $group = new TaskGroup();

    $group->spawn(fn() => "ok");
    $group->spawn(function() { throw new \RuntimeException("fail"); });
    $group->spawn(fn() => "also ok");

    $group->seal();
    $group->all(ignoreErrors: true);

    $results = $group->getResults();
    // [0 => "ok", 2 => "also ok"]

    $errors = $group->getErrors();
    // [1 => RuntimeException("fail")]

    $group->suppressErrors();
});

Дивіться також