阅读量:0
在C#中,可以使用Task类来实现Promise模式,用于资源加载的异步操作。以下是一个简单的示例代码,演示如何使用Promise模式加载资源:
using System; using System.Net.Http; using System.Threading.Tasks; class ResourceLoader { public async Task<string> LoadResource(string url) { using (HttpClient client = new HttpClient()) { HttpResponseMessage response = await client.GetAsync(url); response.EnsureSuccessStatusCode(); return await response.Content.ReadAsStringAsync(); } } } class Program { static async Task Main(string[] args) { ResourceLoader loader = new ResourceLoader(); string url = "https://www.example.com/resource.txt"; Task<string> loadTask = loader.LoadResource(url); Console.WriteLine("Loading resource..."); string resource = await loadTask; Console.WriteLine("Resource loaded:"); Console.WriteLine(resource); } }
在上面的代码中,ResourceLoader类负责加载资源,LoadResource方法使用HttpClient发送HTTP请求获取资源内容,并返回一个Task
通过这种方式,我们可以使用Promise模式实现资源加载的异步操作,避免阻塞主线程,提高程序的性能和用户体验。