之前我在研究async和Task时发现,使用async和Task的函数会打破函数管道,比如model.Where(... ...).Select(... ...);
但是我发现一种继续使用异步函数管道的方法。
比如我自己给IEnumerable类型开发了一个WhereAsync扩展函数。
如果我正常的使用model.WhereAsync(... ...).Select(... ...)是无法使用的。
但是我们可以通过一对()小括号来继续使用函数管道流。
IEnumerable<T> model = new List<T>{
new T(),
... ...
};
//WhereAsync是我自己设计的函数.
(await model.WhereAsync()).Select( ... ...);
如上所示