API / CLASS REFERENCE
UltralightTask
继承: RefCounted
只完成一次,并保留最终结果的异步操作。
操作可能同步完成,因此应先检查 is_completed,再等待 completed,最后调用 get_result。终态只接受第一次完成。
cancel 取消本次观察或结果投递,不撤销业务副作用,也不强行终止 JS Promise。公开的 resolve/reject 供 register_async 处理器完成宿主请求使用,均须在主线程调用。
方法
is_completed() → bool constget_result() → UltralightResult constresolve(value: Variant = null) → voidreject(code: String, message: String) → voidcancel() → void
is_completed
is_completed() → bool const返回是否已保留最终结果。
get_result
get_result() → UltralightResult const返回保留的 UltralightResult;未完成时返回 null。
resolve
resolve(value: Variant = null) → void以成功值完成宿主异步请求。默认值为 Nil;重复完成被忽略,只能在主线程调用。
reject
以指定错误代码和消息完成宿主异步请求。重复完成被忽略,只能在主线程调用。
cancel
cancel() → void未完成时以 Cancelled 结束本次观察或投递,不撤销已经执行的业务操作。只能在主线程调用。
信号
completed
completed()任务进入终态时只发出一次。先检查 is_completed 再等待,完成后通过 get_result 读取保留结果。