异步操作似乎不适合我喜欢编写的流畅接口.Asynchrony如何与Fluent结合使用?
示例:我有两个先前返回的方法,MyEntity但在更改为Async时效果不佳.在我异步他们之后,我必须await完成任务的结果,但我必须为每个添加的步骤执行此操作:
MyEntity Xx = await(await FirstStepAsync()).SecondStepAsync();
Run Code Online (Sandbox Code Playgroud)
一定有更好的方法.
有没有办法重构这条线
var result = (await Foo()).Bar()
Run Code Online (Sandbox Code Playgroud)
这样它就不会使用括号,也不会将等待结果分配给临时变量?
我正在尝试构建一个支持长时间操作的流畅框架,当您需要将 wait 括在括号中时,现实世界的代码会变得非常丑陋:
var result = (await collection
.TransformElements()
.FetchData())
.ProcessResults()
.Aggregate();
Run Code Online (Sandbox Code Playgroud)