Producer Scope
一个用于从多值回调或监听器 API 创建 Flow 的生产者接口。
当你调用 Flows.fromCallback 时,你会得到这个接口的实例。它本身就是一个 CoroutineScope, 允许你在其上下文中启动新的协程来处理事件和发送数据。
Parameters
生产者可以发送(produce)的值的类型。
Functions
async 的备用名称,用于避免在某些脚本语言中与 async 关键字冲突。 功能与 async 完全相同。
对 ObjectWrapper
对 ObjectWrapper
在此作用域内启动一个新的协程,并返回一个 Deferred 对象,该对象最终将持有计算结果。
注册一个清理回调。当 Flow 的收集被取消或 Flow 正常关闭时,此回调将被执行。
创建一个 Deferred,它会挂起直到你手动通过提供的 CancellableContinuation 来恢复它。
获取脚本上下文对象 ScriptContext.
当前通道是否已关闭发送端。
在此作用域内启动一个新的协程,而不会阻塞当前线程。
如果 ObjectWrapper
如果 ObjectWrapper
尝试立即向通道发送一个元素,不会挂起。
切换协程的上下文,在新的上下文中执行指定的代码块,然后返回一个持有结果的 Deferred。
在指定的超时时间内运行代码块。如果超时,返回的 Deferred 将会因 TimeoutCancellationException 而失败。
在指定的超时时间内运行代码块。如果超时,返回的 Deferred 将成功地持有一个 null 值,而不是抛出异常。