最佳答案
我试图理解异步等待在最简单的形式。为了这个例子,我想创建一个非常简单的方法,将两个数字相加,当然,这根本不需要处理时间,这只是一个制定例子的问题。
private async Task DoWork1Async()
{
int result = 1 + 2;
}
private async Task DoWork2Async()
{
Task.Run( () =>
{
int result = 1 + 2;
});
}
如果我等待DoWork1Async()
代码将同步或异步运行?
我需要包装同步代码与Task.Run
,使方法可等待和异步,以不阻塞UI线程?
我试图弄清楚如果我的方法是Task
或返回Task<T>
,我需要用Task.Run
包装代码以使其异步。
我在网上看到一些例子,人们在等待没有任何异步的代码,也没有包装在Task.Run
或StartNew
中。