\Core\StdCoroutine

任务标准

Summary

Methods
Properties
Constants
setup()
execute()
terminated()
resume()
throw()
publishAwait()
publishAsync()
resolve()
inject()
destroy()
exceptionHandler()
timeout()
on()
await()
awaitDestroy()
handleEvent()
defer()
$count
$hash
$fiber
$closure
$dependenceMap
$asyncHandlers
$defer
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Properties

$count

$count : int

任务计数

Type

int

$hash

$hash : string

任务唯一标识

Type

string

$fiber

$fiber : \Fiber

协程实例

Type

\Fiber —

$closure

$closure : \Closure

协程入口

Type

\Closure —

$dependenceMap

$dependenceMap : array

关联映射

Type

array

$asyncHandlers

$asyncHandlers : \Closure[]

异步事件订阅列表

Type

Closure[]

$defer

$defer : \Closure|null

最终执行

Type

Closure|null

Methods

setup()

setup(\Closure  $callable) : static

装配入口函数

Parameters

\Closure $callable

Returns

static —

execute()

execute() : mixed

启动协程

Throws

\Throwable

Returns

mixed —

terminated()

terminated() : bool

验证协程是否已终止

Returns

bool —

resume()

resume(mixed|null  $value = null) : mixed

恢复协程执行

Parameters

mixed|null $value

Throws

\Throwable

Returns

mixed —

throw()

throw(\Throwable  $exception) : void

向协程抛出一个异常,由协程的最后一个调用者捕获

Parameters

\Throwable $exception

publishAwait()

publishAwait(string  $eventName, mixed  $eventData) : mixed

同步发出一个事件,由最后一个调用者捕获

Parameters

string $eventName
mixed $eventData

Throws

\Throwable

Returns

mixed —

publishAsync()

publishAsync(string  $eventName, mixed  $eventData) : void

异步发出一个事件

Parameters

string $eventName
mixed $eventData

Throws

\Throwable

resolve()

resolve(string  $class) : false|object

解析类依赖

Parameters

string $class

Throws

\Throwable

Returns

false|object —

inject()

inject(string  $class, object  $instance) : object

依赖注入

Parameters

string $class
object $instance

Returns

object —

destroy()

destroy() : true

销毁自身

Returns

true —

exceptionHandler()

exceptionHandler(\Throwable  $exception) : true

向协程抛出一个异常,由协程自身处理

Parameters

\Throwable $exception

Returns

true —

timeout()

timeout(\Closure  $closure, int  $time) : $this

设置超时处理

Parameters

\Closure $closure
int $time

Returns

$this —

on()

on(string  $eventName, \Closure  $callable) : void

订阅异步事件

Parameters

string $eventName
\Closure $callable

await()

await() : bool

声明等待异步事件

Returns

bool —

awaitDestroy()

awaitDestroy() : bool

Returns

bool —

handleEvent()

handleEvent(\Worker\Prop\Build  $event) : void

处理事件

Parameters

\Worker\Prop\Build $event

defer()

defer(\Closure  $closure) : \Core\Std\Coroutine

设置最终执行

Parameters

\Closure $closure

Returns

\Core\Std\Coroutine —