Scope::isClosed

(PHP 8.6+, True Async 1.0)

public function isClosed(): bool

Проверяет, закрыт ли scope. Scope считается закрытым после вызова dispose() или disposeSafely(). В закрытый scope нельзя добавлять новые корутины.

Возвращаемое значение

booltrue, если scope закрыт, false в противном случае.

Примеры

Пример #1 Проверка состояния scope

<?php

use Async\Scope;

$scope = new Scope();

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

$scope->dispose();

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

Пример #2 Защита от добавления в закрытый scope

<?php

use Async\Scope;

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

if (!$scope->isClosed()) {
    $scope->spawn(function() {
        echo "Эта корутина не будет создана\n";
    });
} else {
    echo "Scope уже закрыт\n";
}

См. также