Scope::isClosed

(PHP 8.6+, True Async 1.0)

public function isClosed(): bool

Перевіряє, чи закрита область видимості. Область видимості вважається закритою після виклику dispose() або disposeSafely(). Нові корутини не можуть бути додані до закритої області видимості.

Значення, що повертається

booltrue, якщо область видимості закрита, false — в іншому випадку.

Приклади

Приклад #1 Перевірка стану області видимості

<?php

use Async\Scope;

$scope = new Scope();

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

$scope->dispose();

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

Приклад #2 Захист від додавання до закритої області видимості

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

Дивіться також