TaskSet::awaitCompletion
(PHP 8.6+, True Async 1.0)
public TaskSet::awaitCompletion(): void
Suspende la coroutine actual hasta que todas las tareas del conjunto se hayan completado.
El conjunto debe estar sellado antes de llamar a este método.
A diferencia de joinAll(), este método no lanza excepciones ante errores de las tareas
y no devuelve resultados.
Errores
Lanza Async\AsyncException si el conjunto no está sellado.
Ejemplos
Ejemplo #1 Esperar la finalización
<?php
use Async\TaskSet;
spawn(function() {
$set = new TaskSet();
$set->spawn(fn() => processFile("a.txt"));
$set->spawn(fn() => processFile("b.txt"));
$set->spawn(fn() => throw new \RuntimeException("error"));
$set->seal();
$set->awaitCompletion(); // No lanza excepción aunque las tareas hayan fallado
echo "All tasks completed\n";
});
Ver también
- TaskSet::joinAll — Esperar y obtener resultados
- TaskSet::finally — Handler de finalización