PHP 8.4.0 RC4 available for testing

Fiber::start

(PHP 8 >= 8.1.0)

Fiber::startНачинает выполнение файбера

Описание

public Fiber::start(mixed ...$args): mixed

Переменный список аргументов, передаваемый вызываемому объекту, используемый при построении файбера.

Если при вызове метода файбер уже был запущен, будет выброшено FiberError.

Список параметров

args

Аргументы, которые следует использовать при вызове вызываемого объекта, передаваемого конструктору файбера.

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

Значение, предоставленное при первом вызове Fiber::suspend() или null в случае возврата файбера. Если файбер выбросил исключение перед приостановкой, оно будет выброшено из вызова этого метода.

Добавить

Примечания пользователей 1 note

up
0
Astrid
2 years ago
Maybe this helps wrapping your had around the start-suspend-resume-return circle:

$fiber = new Fiber(
function($one) {
$two = Fiber::suspend($one);
$three = Fiber::suspend($two);
$four = Fiber::suspend($three);
$five = Fiber::suspend($four);
$six = Fiber::suspend($five);
return $six;
}
);

print $fiber->start(1);
print $fiber->resume(2);
print $fiber->resume(3);
print $fiber->resume(4);
print $fiber->resume(5);
print $fiber->resume(6);
print $fiber->getReturn();

//prints 123456
To Top