Scope::isClosed

(PHP 8.6+, True Async 1.0)

public function isClosed(): bool

Verifica se lo scope e’ chiuso. Uno scope e’ considerato chiuso dopo una chiamata a dispose() o disposeSafely(). Non e’ possibile aggiungere nuove coroutine a uno scope chiuso.

Valore di ritorno

booltrue se lo scope e’ chiuso, false altrimenti.

Esempi

Esempio #1 Verifica dello stato dello scope

<?php

use Async\Scope;

$scope = new Scope();

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

$scope->dispose();

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

Esempio #2 Protezione contro l’aggiunta a uno scope chiuso

<?php

use Async\Scope;

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

if (!$scope->isClosed()) {
    $scope->spawn(function() {
        echo "Questa coroutine non verra' creata\n";
    });
} else {
    echo "Lo scope e' gia' chiuso\n";
}

Vedi anche