Fiber::start

(PHP 8 >= 8.1.0)

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

Описание

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

Метод запускает файбер и передаёт в файбер переменный список аргументов, который файбер передаёт в callback-функцию при вызове конструктора.

Вызов метода на файбере, который уже начал работу, выбрасывает ошибку FiberError.

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

args

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

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

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

Добавить

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

up
0
Astrid
3 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