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

booltrue 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