ultralight-godot SHOWCASEshabbywu/ultralight-godot

API / CLASS REFERENCE

UltralightTask

继承: RefCounted

只完成一次,并保留最终结果的异步操作。

操作可能同步完成,因此应先检查 is_completed,再等待 completed,最后调用 get_result。终态只接受第一次完成。

cancel 取消本次观察或结果投递,不撤销业务副作用,也不强行终止 JS Promise。公开的 resolve/reject 供 register_async 处理器完成宿主请求使用,均须在主线程调用。

方法

is_completed

is_completed() → bool const

返回是否已保留最终结果。

get_result

get_result() → UltralightResult const

返回保留的 UltralightResult;未完成时返回 null。

resolve

resolve(value: Variant = null) → void

以成功值完成宿主异步请求。默认值为 Nil;重复完成被忽略,只能在主线程调用。

reject

reject(code: String, message: String) → void

以指定错误代码和消息完成宿主异步请求。重复完成被忽略,只能在主线程调用。

cancel

cancel() → void

未完成时以 Cancelled 结束本次观察或投递,不撤销已经执行的业务操作。只能在主线程调用。

信号

completed

completed()

任务进入终态时只发出一次。先检查 is_completed 再等待,完成后通过 get_result 读取保留结果。

查看类文档源码 ↗

Godot 运行截图 · 按 Esc 关闭 打开原图 ↗