Coroutines

脚本协程功能的顶层入口和管理器。

这是您在脚本中开始使用协程功能的起点。通过这个全局对象(通常以变量名 coroutines 存在), 您可以创建新的协程作用域(CoroutineScope),从而启动和管理您的异步任务。

作为 ScriptCloseable,它能确保在脚本执行结束时,所有通过它创建的协程作用域都会被自动取消, 有效地防止了协程泄漏。

Author

M8Test, [email protected], https://m8test.com

Functions

Link copied to clipboard
abstract override fun close()

关闭当前对象, 如果没有调用本方法则会报错, 当然本方法由系统调用, 不需要手动调用.

Link copied to clipboard
abstract fun getContext(): ScriptContext

获取脚本上下文对象 ScriptContext.

Link copied to clipboard
abstract fun getFlows(): Flows

获取 Flows 对象, 用于对 Flow 进行操作。

Link copied to clipboard
abstract fun getGlobalName(): String

获取作为全局变量时的名称.

Link copied to clipboard
abstract fun getPublicType(): Type

获取 Variable 注入到脚本时需要显示的类型.

Link copied to clipboard
abstract fun isClosed(): Boolean

判断当前对象是否已经调用了 close 方法.

Link copied to clipboard
abstract fun isPrefixRequired(): Boolean

是否需要添加前缀, 每种编程语言添加的前缀不一样, 前缀可以通过 Language.getVariablePrefix 获取.

Link copied to clipboard
abstract fun isSuffixRequired(): Boolean

是否需要添加后缀, 每种编程语言添加的后缀不一样, 后缀可以通过 Language.getVariableSuffix 获取.

Link copied to clipboard
abstract fun newScope(coroutineContextBuilder: CoroutineContext.() -> Unit?): CoroutineScope

创建并返回一个新的 CoroutineScope

Link copied to clipboard
abstract fun <T> wrapDeferred(deferred: Deferred<T>, scope: ERROR CLASS: Symbol not found for kotlinx.coroutines.CoroutineScope): Deferred<T>

将一个 kotlin Deferred 对象转成 M8Test Deferred 对象

Link copied to clipboard
abstract fun wrapJob(job: Job, scope: ERROR CLASS: Symbol not found for kotlinx.coroutines.CoroutineScope): Job

将一个 kotlin Job 对象转成 M8Test Job 对象

Link copied to clipboard
abstract fun wrapScope(scope: ERROR CLASS: Symbol not found for kotlinx.coroutines.CoroutineScope): CoroutineScope

将一个 kotlin CoroutineScope 对象转成 M8Test CoroutineScope 对象