zoukankan      html  css  js  c++  java
  • 转换 Task<IAsyncEnumerable<T>> 为 IAsyncEnumerable<T>

    这么做还是有一些意义的,避免重复处理Task<IAsyncEnumerable>实在是有些复杂,如果代码还要处理IAsyncEnumerable的话尤为如此,将二者统一还是有一定意义的

            #region AsAsyncEnumerable
            public static async IAsyncEnumerable<T> AsAsyncEnumerable<T>(this System.Threading.Tasks.ValueTask<IAsyncEnumerable<T>> asyncEnumerable)
            {
                await foreach (var one in await asyncEnumerable.ConfigureAwait(false))
                {
                    yield return one;
                }
            }
            public static async IAsyncEnumerable<T> AsAsyncEnumerable<T>(this System.Threading.Tasks.ValueTask<IEnumerable<T>> asyncEnumerable)
            {
                foreach (var one in await asyncEnumerable.ConfigureAwait(false))
                {
                    yield return one;
                }
            }
            public static async IAsyncEnumerable<T> AsAsyncEnumerable<T>(this System.Threading.Tasks.Task<IEnumerable<T>> asyncEnumerable)
            {
                foreach (var one in await asyncEnumerable.ConfigureAwait(false))
                {
                    yield return one;
                }
            }
            public static async IAsyncEnumerable<T> AsAsyncEnumerable<T>(this System.Threading.Tasks.Task<IAsyncEnumerable<T>> asyncEnumerable)
            {
                await foreach(var one in await asyncEnumerable.ConfigureAwait(false))
                {
                    yield return one;
                }
            }
            #endregion
    
  • 相关阅读:
    UltraEdit 注册机使用说明
    sybase 收集常用sql语句
    过渡模式
    JavaScript 钩子
    自定义过渡的类名
    CSS过渡、CSS动画
    单元素/组件的过渡
    通过 v-once 创建低开销的静态组件
    内联模板、X-Template
    程序化的时间侦听器
  • 原文地址:https://www.cnblogs.com/yinyue200/p/12678740.html
Copyright © 2011-2022 走看看