Scope::isClosed

(PHP 8.6+, True Async 1.0)

public function isClosed(): bool

Vérifie si le scope est fermé. Un scope est considéré comme fermé après un appel à dispose() ou disposeSafely(). De nouvelles coroutines ne peuvent pas être ajoutées à un scope fermé.

Valeur de retour

booltrue si le scope est fermé, false sinon.

Exemples

Exemple #1 Vérification de l’état du scope

<?php

use Async\Scope;

$scope = new Scope();

var_dump($scope->isClosed()); // bool(false)

$scope->dispose();

var_dump($scope->isClosed()); // bool(true)

Exemple #2 Protection contre l’ajout à un scope fermé

<?php

use Async\Scope;

$scope = new Scope();
$scope->dispose();

if (!$scope->isClosed()) {
    $scope->spawn(function() {
        echo "This coroutine will not be created\n";
    });
} else {
    echo "Scope is already closed\n";
}

Voir aussi