sv中task的输出是一个动态数组
时间: 2024-10-24 19:05:34 浏览: 27
[原创] SV中数组代码实践笔记
在Unreal Engine (UE)的Scripting Virtual Machine (SV) 中,`Task` 是一种异步操作的管理机制,用于在游戏循环之外执行工作并更新任务的状态。当你创建一个 `Task` 并指定其输出(通常是通过 `Then()` 或 `RunAndForget()` 等函数)时,输出可以是一个动态数组(Dynamic Array)。这种设计允许你在任务完成后返回一组数据,比如从网络请求获取的一组对象或某个计算过程的结果。
例如:
```cpp
FAsyncTask dynamicallyOutputTask(THIS, TEXT("Dynamically Output Task"));
dynamicallyOutputTask.Then([=](const TArray<FSomeData>& data) {
// data is the dynamic array returned by the task
for (const FSomeData& item : data) {
// process the items
}
});
```
在这个例子中,`dynamicallyOutputTask` 的完成会返回一个 `TArray<FSomeData>` 类型的动态数组,然后这个数组会被传递给回调函数处理。
阅读全文