溫馨提示×

C# Promise如何用于資源加載

c#
小樊
103
2024-07-22 21:44:05
欄目: 編程語言

在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對象。在Main方法中,首先創建一個ResourceLoader實例,并指定要加載的資源URL。然后調用LoadResource方法獲取資源內容的異步操作,并使用await關鍵字等待異步操作完成。最后打印加載的資源內容。

通過這種方式,我們可以使用Promise模式實現資源加載的異步操作,避免阻塞主線程,提高程序的性能和用戶體驗。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女