【发布时间】:2016-12-24 02:37:12
【问题描述】:
在 Scala 中,有一个 Promise 类可用于手动完成 Future。我正在寻找 C# 中的替代方案。
我正在编写一个测试,我希望它看起来像这样:
// var MyResult has a field `Header`
var promise = new Promise<MyResult>;
handlerMyEventsWithHandler( msg =>
promise.Complete(msg);
);
// Wait for 2 seconds
var myResult = promise.Future.Await(2000);
Assert.Equals("my header", myResult.Header);
我知道这可能不是 C# 的正确模式,但即使模式有所不同,我也无法找到实现相同目标的合理方法。
编辑:请注意,async/await 在这里没有帮助,因为我没有要等待的任务!我只是可以访问将在另一个线程上运行的处理程序。
【问题讨论】:
-
我想你在找
Task<T>。
标签: c# promise async-await task future