在 Scala 中有一个专门用于手动完成 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
在这里没有帮助,因为我没有任务要等待!我只能访问另一个线程上运行的处理程序。