Scope::isClosed

(PHP 8.6+, True Async 1.0)

public function isClosed(): bool

Verifica si el ámbito está cerrado. Un ámbito se considera cerrado después de una llamada a dispose() o disposeSafely(). No se pueden agregar nuevas corrutinas a un ámbito cerrado.

Valor de retorno

booltrue si el ámbito está cerrado, false en caso contrario.

Ejemplos

Ejemplo #1 Verificar el estado del ámbito

<?php

use Async\Scope;

$scope = new Scope();

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

$scope->dispose();

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

Ejemplo #2 Protección contra agregar a un ámbito cerrado

<?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";
}

Ver también