ajax c#異步回調(diào)怎么寫(xiě)

c#
小樊
81
2024-09-19 20:27:25

在C#中,使用asyncawait關(guān)鍵字可以輕松地實(shí)現(xiàn)異步回調(diào)。以下是一個(gè)簡(jiǎn)單的示例,展示了如何使用AJAX調(diào)用Web API并在成功時(shí)執(zhí)行異步回調(diào):

  1. 首先,確保已安裝Newtonsoft.Json NuGet包,以便在C#中使用JSON。

  2. 創(chuàng)建一個(gè)C#控制臺(tái)應(yīng)用程序并添加以下代碼:

using System;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;

namespace AjaxCsharpAsyncCallback
{
    class Program
    {
        static async Task Main(string[] args)
        {
            string apiUrl = "https://jsonplaceholder.typicode.com/todos/1";
            await CallApiAndPrintResultAsync(apiUrl);
        }

        static async Task CallApiAndPrintResultAsync(string apiUrl)
        {
            using (HttpClient httpClient = new HttpClient())
            {
                try
                {
                    HttpResponseMessage response = await httpClient.GetAsync(apiUrl);
                    if (response.IsSuccessStatusCode)
                    {
                        string jsonResponse = await response.Content.ReadAsStringAsync();
                        JObject jsonObject = JObject.Parse(jsonResponse);
                        Console.WriteLine("異步回調(diào)結(jié)果:");
                        Console.WriteLine($"ID: {jsonObject["id"]}");
                        Console.WriteLine($"Title: {jsonObject["title"]}");
                        Console.WriteLine($"Completed: {jsonObject["completed"]}");
                    }
                    else
                    {
                        Console.WriteLine("請(qǐng)求失敗,狀態(tài)碼:" + response.StatusCode);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("請(qǐng)求異常:" + ex.Message);
                }
            }
        }
    }
}

在這個(gè)示例中,我們創(chuàng)建了一個(gè)名為CallApiAndPrintResultAsync的異步方法,該方法使用HttpClient對(duì)象向指定的API發(fā)起GET請(qǐng)求。我們使用await關(guān)鍵字等待請(qǐng)求完成,并將響應(yīng)內(nèi)容解析為JSON對(duì)象。然后,我們從JSON對(duì)象中提取所需的數(shù)據(jù)并打印到控制臺(tái)。

Main方法中,我們調(diào)用CallApiAndPrintResultAsync方法并傳入API URL。由于CallApiAndPrintResultAsync方法使用了asyncawait關(guān)鍵字,因此它將在等待API響應(yīng)時(shí)暫停執(zhí)行,并在收到響應(yīng)后繼續(xù)執(zhí)行。這使得我們可以輕松地實(shí)現(xiàn)異步回調(diào)。

0