Scope::isClosed

(PHP 8.6+, True Async 1.0)

public function isClosed(): bool

Prueft, ob der Scope geschlossen ist. Ein Scope gilt als geschlossen nach einem Aufruf von dispose() oder disposeSafely(). Einem geschlossenen Scope koennen keine neuen Koroutinen hinzugefuegt werden.

Rueckgabewert

booltrue, wenn der Scope geschlossen ist, andernfalls false.

Beispiele

Beispiel #1 Scope-Zustand pruefen

<?php

use Async\Scope;

$scope = new Scope();

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

$scope->dispose();

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

Beispiel #2 Schutz vor Hinzufuegen zu einem geschlossenen Scope

<?php

use Async\Scope;

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

if (!$scope->isClosed()) {
    $scope->spawn(function() {
        echo "Diese Koroutine wird nicht erstellt\n";
    });
} else {
    echo "Scope ist bereits geschlossen\n";
}

Siehe auch