Scope::isClosed
(PHP 8.6+, True Async 1.0)
public function isClosed(): bool
Проверяет, закрыт ли scope. Scope считается закрытым после вызова dispose() или disposeSafely(). В закрытый scope нельзя добавлять новые корутины.
Возвращаемое значение
bool — true, если 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";
}
См. также
- Scope::isFinished — Проверить, завершён ли scope
- Scope::isCancelled — Проверить, отменён ли scope
- Scope::dispose — Закрыть scope