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
    
  • 相关阅读:
    C++输入问题探究
    剑指offer自学系列(一)
    一道算法题加深我对C++中map函数的理解
    数据结构和算法自学之排序算法(一)
    pyqt5_01_流程走通
    最新谷歌驱动对照表
    移动端测试
    selenium封装
    request封装
    MD5自定义加密
  • 原文地址:https://www.cnblogs.com/yinyue200/p/12678740.html
Copyright © 2011-2022 走看看