GFLifetimeSubscription¶
API Reference / Kernel / 类索引
- 路径:
addons/gf/kernel/core/gf_lifetime_subscription.gd - 模块:
Kernel - 继承:
GFSubscriptionToken - API:
public - 类别:运行时句柄 (
runtime_handle) - 首次版本:
8.0.0
绑定 owner 生命周期的订阅句柄。 owner 为 Node 时,节点退出场景树会自动取消订阅;owner 为普通 Object 时, 使用方或订阅源可通过 owner_is_released() 检查弱引用是否已经失效并执行清理。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 方法 | _init |
func _init(owner: Object = null, cancel_callback: Callable = Callable(), debug_label: String = "") -> void: |
| 方法 | cancel |
func cancel() -> bool: |
| 方法 | is_active |
func is_active() -> bool: |
| 方法 | get_owner |
func get_owner() -> Object: |
| 方法 | get_owner_id |
func get_owner_id() -> int: |
| 方法 | owner_is_released |
func owner_is_released() -> bool: |
方法¶
_init¶
- API:
public - 首次版本:
8.0.0
func _init(owner: Object = null, cancel_callback: Callable = Callable(), debug_label: String = "") -> void:
构造函数。
参数:
| 名称 | 说明 |
|---|---|
owner |
订阅生命周期 owner。 |
cancel_callback |
首次取消时执行的无参清理回调。 |
debug_label |
可选诊断标签。 |
cancel¶
- API:
public - 首次版本:
8.0.0
取消订阅并解除 owner 自动取消监听。
返回:本次调用是否首次取消了活动订阅。
is_active¶
- API:
public - 首次版本:
8.0.0
返回订阅是否仍处于活动状态。
返回:token 未取消且 owner 未释放时返回 true。
get_owner¶
- API:
public - 首次版本:
8.0.0
返回生命周期 owner;未设置或已释放时返回 null。
返回:当前 owner 或 null。
get_owner_id¶
- API:
public - 首次版本:
8.0.0
返回 owner 的实例 ID;未设置时为 0。
返回:owner 实例 ID。
owner_is_released¶
- API:
public - 首次版本:
8.0.0
返回 owner 是否已经释放。
返回:owner 曾经设置且当前已无法解析时返回 true。