Coroutine::isCancellationRequested
(PHP 8.6+, True Async 1.0)
public Coroutine::isCancellationRequested(): bool
Verifica si se ha solicitado la cancelación de la coroutine. A diferencia de isCancelled(), devuelve true inmediatamente después de llamar a cancel(), incluso si la coroutine aún se está ejecutando dentro de protect().
Valor de retorno
bool – true si se ha solicitado la cancelación.
Ejemplos
Ejemplo #1 Diferencia con isCancelled()
<?php
use function Async\spawn;
use function Async\suspend;
use function Async\protect;
$coroutine = spawn(function() {
protect(function() {
suspend();
});
});
suspend();
// Antes de la cancelación
var_dump($coroutine->isCancellationRequested()); // bool(false)
$coroutine->cancel();
// Inmediatamente después de cancel()
var_dump($coroutine->isCancellationRequested()); // bool(true)
var_dump($coroutine->isCancelled()); // bool(false) -- aún en protect()
Ver también
- Coroutine::isCancelled – Verificar cancelación completada
- Coroutine::cancel – Cancelar la coroutine
- protect() – Sección protegida