C# MAUI await async 函數 用法

C# MAUI await async 函數 用法

C# MAUI await async 函數 用法


Copilot Code:

using System.Net.Http;
using Microsoft.Maui.Controls;

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private async void OnButtonClicked(object sender, EventArgs e)
    {
        string result = await FetchDataAsync("https://example.com");
        // 在這裡處理獲取到的數據
        DisplayAlert("Data", result, "OK");
    }

    private async Task<string> FetchDataAsync(string url)
    {
        using (HttpClient client = new HttpClient())
        {
            HttpResponseMessage response = await client.GetAsync(url);
            response.EnsureSuccessStatusCode();
            string responseBody = await response.Content.ReadAsStringAsync();
            return responseBody;
        }
    }
}


Copilot 說明:

    01.FetchDataAsync 方法是一個非同步方法,使用 async 關鍵字定義,並返回一個 Task<string>。

    02.在 FetchDataAsync 方法內部,使用 await 關鍵字等待 HttpClient.GetAsync 和 HttpContent.ReadAsStringAsync 方法完成。

    03.OnButtonClicked 方法也是非同步的,當按鈕被點擊時,它會呼叫 FetchDataAsync 並等待其完成。


    PS.這樣的設計可以確保 UI 執行緒不會被阻塞,應用程式可以保持回應

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *