阅读量:0
在C#中创建自定义Promise可以通过创建一个包含异步操作的方法来实现。以下是一个简单的示例,通过创建一个名为CustomPromise的类来实现自定义Promise:
using System; using System.Threading.Tasks; public class CustomPromise { public Task<string> DoAsyncOperation() { var taskCompletionSource = new TaskCompletionSource<string>(); // 模拟一个异步操作 Task.Delay(2000).ContinueWith(task => { if (task.IsCompletedSuccessfully) { taskCompletionSource.SetResult("Operation completed successfully"); } else { taskCompletionSource.SetException(task.Exception); } }); return taskCompletionSource.Task; } } class Program { static async Task Main() { var customPromise = new CustomPromise(); var result = await customPromise.DoAsyncOperation(); Console.WriteLine(result); } }
在上面的示例中,CustomPromise类包含一个名为DoAsyncOperation的方法,该方法返回一个Task
需要注意的是,虽然可以手动创建自定义Promise类来处理异步操作,但C#中已经内置了Task类和async/await关键字来简化异步编程,推荐优先使用内置的异步操作方式。