КомпонентиScope::isClosed

Scope::isClosed

(PHP 8.6+, True Async 1.0)

php
public function isClosed(): bool

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

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

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

Приклади

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

php
<?php

use Async\Scope;

$scope = new Scope();

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

$scope->dispose();

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

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

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

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

  • Scope::isFinished — Перевірка, чи завершена область видимості
  • Scope::isCancelled — Перевірка, чи скасована область видимості
  • Scope::dispose — Закриття області видимості