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
    
  • 相关阅读:
    常见RGB透明度对照表在这
    Android节假日图标动态替换方案
    用两个栈实现队列
    从头到尾打印链表 (链表/栈)
    MySQL常用函数
    找出数组中重复的数字
    两数之和
    java的list的几种排序写法整理(sort的用法)
    Java知识目录
    通过关键词来推荐话题
  • 原文地址:https://www.cnblogs.com/yinyue200/p/12678740.html
Copyright © 2011-2022 走看看