# IResourceLoader::LoadAsync ```cpp virtual void LoadAsync(const Containers::String& path, const ImportSettings* settings, std::function callback) ``` 异步加载资源。虚方法,提供默认实现(直接在调用线程执行 Load 然后调用回调)。子类可重写以提供真正的异步实现。 **参数:** - `path` - 资源文件路径 - `settings` - 导入设置 - `callback` - 加载完成后的回调函数,接收 `LoadResult` 参数 **线程安全:** ❌(默认实现同步执行,子类重写时需确保线程安全) **示例:** ```cpp // 使用默认实现的异步加载 ResourceManager::Get().LoadAsync("textures/player.png", nullptr, [](LoadResult result) { if (result.success) { Texture* tex = static_cast(result.resource); // 使用纹理 } }); // 子类重写提供真正的异步实现 class AsyncTextureLoader : public IResourceLoader { void LoadAsync(const Containers::String& path, const ImportSettings* settings, std::function callback) override { std::thread([this, path, settings, callback]() { LoadResult result = Load(path, settings); callback(result); }).detach(); } }; ``` ## 相关文档 - [IResourceLoader 总览](resource-loader.md) - 返回类总览