阅读量:0
在C#中,使用async
和await
关键字可以轻松地实现异步回调。以下是一个简单的示例,展示了如何使用AJAX调用Web API并在成功时执行异步回调:
首先,确保已安装Newtonsoft.Json NuGet包,以便在C#中使用JSON。
创建一个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
方法使用了async
和await
关键字,因此它将在等待API响应时暂停执行,并在收到响应后继续执行。这使得我们可以轻松地实现异步回调。