Coroutine::isCancellationRequested
(PHP 8.6+, True Async 1.0)
public Coroutine::isCancellationRequested(): bool
Vérifie si l’annulation a été demandée pour la coroutine. Contrairement à isCancelled(), retourne true immédiatement après l’appel de cancel(), même si la coroutine est encore en cours d’exécution dans protect().
Valeur de retour
bool – true si l’annulation a été demandée.
Exemples
Exemple #1 Différence avec isCancelled()
<?php
use function Async\spawn;
use function Async\suspend;
use function Async\protect;
$coroutine = spawn(function() {
protect(function() {
suspend();
});
});
suspend();
// Avant l'annulation
var_dump($coroutine->isCancellationRequested()); // bool(false)
$coroutine->cancel();
// Immédiatement après cancel()
var_dump($coroutine->isCancellationRequested()); // bool(true)
var_dump($coroutine->isCancelled()); // bool(false) -- encore dans protect()
Voir aussi
- Coroutine::isCancelled – Vérifier l’annulation terminée
- Coroutine::cancel – Annuler la coroutine
- protect() – Section protégée