博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TaskAsyncHelper
阅读量:6993 次
发布时间:2019-06-27

本文共 1229 字,大约阅读时间需要 4 分钟。

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

使用很简单,将方法名作为参数传进去就行了,最常用的是把很耗时的序列化函数传进去,以免阻塞UI进程,造成卡顿现象,影响用户体验。

 

 

转载地址:http://powvl.baihongyu.com/

你可能感兴趣的文章
window.location.href的使用方法
查看>>
j2ee指导型框架或示例
查看>>
CSerialIO--串口控件
查看>>
[詹兴致矩阵论习题参考解答]习题2.1
查看>>
#import与@class的区别
查看>>
栈的存储结构和常见操作(c 语言实现)
查看>>
WSImport
查看>>
【视频教学】如何利用高德地图IOS SDK进行开发?
查看>>
责任链设计模式(过滤器、拦截器)
查看>>
图像处理和计算机视觉中的经典论文
查看>>
第50周一
查看>>
主流ETL工具
查看>>
SQL2008中Merge Into的用法
查看>>
session销毁
查看>>
【LeetCode】167. Two Sum II - Input array is sorted
查看>>
Android--ListView 分割线
查看>>
接口和抽象类有什么差别
查看>>
GTD桌面2.0
查看>>
Android -----paint cap join 理解 ,paint画笔形状设置
查看>>
图像局部特征点检测算法综述
查看>>