GFAsyncScope¶
API Reference / Kernel / 类索引
- 路径:
addons/gf/kernel/core/gf_async_scope.gd - 模块:
Kernel - 继承:
GFCancellationToken - API:
public - 类别:运行时句柄 (
runtime_handle) - 首次版本:
8.0.0
由生命周期拥有者控制的可取消异步作用域。 作用域继承自 GFCancellationToken,可直接传给需要只读取消检查的流程。 注册的清理回调会在 cancel() 时按后进先出顺序执行;complete() 表示流程正常结束并清空清理回调。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 方法 | get_token |
func get_token() -> GFCancellationToken: |
| 方法 | is_active |
func is_active() -> bool: |
| 方法 | is_completed |
func is_completed() -> bool: |
| 方法 | register_cleanup |
func register_cleanup(cleanup_callback: Callable) -> bool: |
| 方法 | unregister_cleanup |
func unregister_cleanup(cleanup_callback: Callable) -> void: |
| 方法 | cancel |
func cancel(reason: String = "", metadata: Dictionary = {}) -> bool: |
| 方法 | complete |
func complete() -> void: |
方法¶
get_token¶
- API:
public - 首次版本:
8.0.0
返回当前作用域的只读取消令牌视图。
返回:当前作用域自身,可作为 GFCancellationToken 使用。
is_active¶
- API:
public - 首次版本:
8.0.0
返回作用域是否仍处于活动状态。
返回:未 complete 且未 cancel 时返回 true。
is_completed¶
- API:
public - 首次版本:
8.0.0
返回作用域是否已经正常完成。
返回:complete() 被调用后返回 true。
register_cleanup¶
- API:
public - 首次版本:
8.0.0
注册取消时执行的清理回调。
参数:
| 名称 | 说明 |
|---|---|
cleanup_callback |
取消时执行的无参 Callable。 |
返回:注册成功、或已取消时即时执行成功,返回 true;无效回调或已完成作用域返回 false。
unregister_cleanup¶
- API:
public - 首次版本:
8.0.0
注销取消清理回调。
参数:
| 名称 | 说明 |
|---|---|
cleanup_callback |
要移除的清理回调。 |
cancel¶
- API:
public - 首次版本:
8.0.0
请求取消当前作用域,并执行已注册的清理回调。
参数:
| 名称 | 说明 |
|---|---|
reason |
取消原因。 |
metadata |
取消上下文。 |
返回:本次调用是否首次触发取消。
结构:
metadata: Dictionary,包含调用方定义的取消上下文。
complete¶
- API:
public - 首次版本:
8.0.0
标记异步作用域已正常完成,并丢弃取消清理回调。