TaskSet::cancel
(PHP 8.6+, True Async 1.0)
php
public TaskSet::cancel(?Async\AsyncCancellation $cancellation = null): voidCancela todas las coroutines en ejecución y vacía la cola de tareas. Llama implícitamente a close().
Parámetros
cancellation : Motivo de la cancelación. Si es null, se crea un AsyncCancellation por defecto.
Ejemplos
Ejemplo #1 Cancelación condicional
php
<?php
use Async\TaskSet;
spawn(function() {
$set = new TaskSet();
$set->spawn(fn() => longRunningTask1());
$set->spawn(fn() => longRunningTask2());
// Cancelar todas las tareas
$set->cancel();
echo $set->isClosed() ? "closed\n" : "no\n"; // "closed"
});Ver también
- TaskSet::close — Cerrar el conjunto
- TaskSet::dispose — Destruir el scope del conjunto