StageLoop

expect open class StageLoop<S : Stage<S>>

可挂起的事件循环器。

StageLoop 内部持有可变状态,一个 StageLoop 实例建议同时只进行一个循环任务。

sealed FooStage : Stage<FooStage>() {
object Start : FooStage() { ... }
// ...
}

val stageLoop = ...
stageLoop.appendStage(FooStage.Start)

stageLoop.loop()

Author

ForteScarlet

actual open class StageLoop<S : Stage<S>>

可挂起的事件循环器。

StageLoop 内部持有可变状态,一个 StageLoop 实例建议同时只进行一个循环任务。

sealed FooStage : Stage<FooStage>() {
object Start : FooStage() { ... }
// ...
}

val stageLoop = ...
stageLoop.appendStage(FooStage.Start)

stageLoop.loop()

Author

ForteScarlet

actual open class StageLoop<S : Stage<S>>

可挂起的事件循环器。

StageLoop 内部持有可变状态,一个 StageLoop 实例建议同时只进行一个循环任务。

sealed FooStage : Stage<FooStage>() {
object Start : FooStage() { ... }
// ...
}

val stageLoop = ...
stageLoop.appendStage(FooStage.Start)

stageLoop.loop()

Author

ForteScarlet

actual open class StageLoop<S : Stage<S>>

可挂起的事件循环器。

StageLoop 内部持有可变状态,一个 StageLoop 实例建议同时只进行一个循环任务。

sealed FooStage : Stage<FooStage>() {
object Start : FooStage() { ... }
// ...
}

val stageLoop = ...
stageLoop.appendStage(FooStage.Start)

stageLoop.loop()

Author

ForteScarlet

See also

Parameters

S

用于界定一定范围内的状态

S

用于界定一定范围内的状态

S

用于界定一定范围内的状态

S

用于界定一定范围内的状态

Constructors

Link copied to clipboard
expect fun StageLoop()
actual fun StageLoop()
actual fun StageLoop()
actual fun StageLoop()

Functions

Link copied to clipboard
expect open fun appendStage(stage: S)

向事件队列尾部追加事件。

actual open fun appendStage(stage: S)

向事件队列尾部追加事件。

actual open fun appendStage(stage: S)

向事件队列尾部追加事件。

actual open fun appendStage(stage: S)

向事件队列尾部追加事件。

Link copied to clipboard
expect open suspend operator fun invoke(stage: S?)

根据提供的 stage 变更 currentStage 的状态并执行它(如果不为null的话)

actual open suspend operator fun invoke(stage: S?)

根据提供的 stage 变更 currentStage 的状态并执行它(如果不为null的话)

actual open suspend operator fun invoke(stage: S?)

根据提供的 stage 变更 currentStage 的状态并执行它(如果不为null的话)

actual open suspend operator fun invoke(stage: S?)

根据提供的 stage 变更 currentStage 的状态并执行它(如果不为null的话)

Link copied to clipboard
expect open fun poll(): S?

取出下一个需要执行的状态。

actual open fun poll(): S?

取出下一个需要执行的状态。

actual open fun poll(): S?

取出下一个需要执行的状态。

actual open fun poll(): S?

取出下一个需要执行的状态。

Properties

Link copied to clipboard
expect open val currentStage: S?

run正在执行的状态实例。 如果为null则代表没有循环在进行。

actual open val currentStage: S?

run正在执行的状态实例。 如果为null则代表没有循环在进行。

actual open val currentStage: S?

run正在执行的状态实例。 如果为null则代表没有循环在进行。

actual open val currentStage: S?

run正在执行的状态实例。 如果为null则代表没有循环在进行。

Extensions

Link copied to clipboard
inline suspend fun <S : Stage<S>> StageLoop<S>.loop(crossinline condition: (next: S?) -> Boolean = { next -> next != null }, crossinline exceptionHandle: (Throwable) -> Unit = { e -> throw e })

通过提供的 StageLoop 进行循环。