zoukankan      html  css  js  c++  java
  • .net5的异步

    public static class TaskAsyncHelper
    {
    /// <summary>
    /// 将一个方法function异步运行,在执行完毕时执行回调callback
    /// </summary>
    /// <param name="function">异步方法,该方法没有参数,返回类型必须是void</param>
    /// <param name="callback">异步方法执行完毕时执行的回调方法,该方法没有参数,返回类型必须是void</param>
    public static async void RunAsync(Action function, Action callback)
    {
    Func<System.Threading.Tasks.Task> taskFunc = () =>
    {
    return System.Threading.Tasks.Task.Run(() =>
    {
    function();
    });
    };
    await taskFunc();
    if (callback != null)
    callback();
    }

    /// <summary>
    /// 将一个方法function异步运行,在执行完毕时执行回调callback
    /// </summary>
    /// <typeparam name="TResult">异步方法的返回类型</typeparam>
    /// <param name="function">异步方法,该方法没有参数,返回类型必须是TResult</param>
    /// <param name="callback">异步方法执行完毕时执行的回调方法,该方法参数为TResult,返回类型必须是void</param>
    public static async void RunAsync<TResult>(Func<TResult> function, Action<TResult> callback)
    {
    Func<System.Threading.Tasks.Task<TResult>> taskFunc = ()=>
    {
    return System.Threading.Tasks.Task.Run(()=>
    {
    return function();
    });
    };
    TResult rlt = await taskFunc();
    if(callback != null)
    callback(rlt);
    }
    }

  • 相关阅读:
    dll-IL-metadata-反射
    Linux(Ubuntu)下安装Angular2
    在nodejs中使用input file批量上传文件的方法
    jq动态添加的元素触发绑定事件无效
    简单的在线计算器
    不同方法实现按钮背景图片的变换
    unity特殊文件夹
    《暗黑战神》随堂笔记
    《打砖块》教程知识梳理
    unity零散小知识
  • 原文地址:https://www.cnblogs.com/wolf12/p/5513958.html
Copyright © 2011-2022 走看看