温馨提示×

ajax c#异步回调怎么写

c#
小樊
86
2024-09-19 20:27:25
栏目: 编程语言

在C#中,使用asyncawait关键字可以轻松地实现异步回调。以下是一个简单的示例,展示了如何使用AJAX调用Web API并在成功时执行异步回调:

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

  2. 创建一个C#控制台应用程序并添加以下代码:

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("异步回调结果:");
                        Console.WriteLine($"ID: {jsonObject["id"]}");
                        Console.WriteLine($"Title: {jsonObject["title"]}");
                        Console.WriteLine($"Completed: {jsonObject["completed"]}");
                    }
                    else
                    {
                        Console.WriteLine("请求失败,状态码:" + response.StatusCode);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("请求异常:" + ex.Message);
                }
            }
        }
    }
}

在这个示例中,我们创建了一个名为CallApiAndPrintResultAsync的异步方法,该方法使用HttpClient对象向指定的API发起GET请求。我们使用await关键字等待请求完成,并将响应内容解析为JSON对象。然后,我们从JSON对象中提取所需的数据并打印到控制台。

Main方法中,我们调用CallApiAndPrintResultAsync方法并传入API URL。由于CallApiAndPrintResultAsync方法使用了asyncawait关键字,因此它将在等待API响应时暂停执行,并在收到响应后继续执行。这使得我们可以轻松地实现异步回调。

0