Promise equivalent in C#
In C#: Task<T> is a future (or Task for a unit-returning future). TaskCompletionSource<T> is a promise. So your code would translate as such: // var promise = new Promise<MyResult>; var promise = new TaskCompletionSource<MyResult>(); // handlerMyEventsWithHandler(msg => promise.Complete(msg);); handlerMyEventsWithHandler(msg => promise.TrySetResult(msg)); // var myResult = promise.Future.Await(2000); var completed = await Task.WhenAny(promise.Task, Task.Delay(2000)); if (completed == … Read more