按我的理解:语法糖而已,本质就是调用线程(一般来说是主线程)里的迭代状态机:inumnator.movenext+yield return
很好用,很实用,懒人专用:一个过程里,多次异步等待,同步处理,逻辑清晰,代码简洁。。。
应用如下,牢记,直接使用即可。。。
async void TestAsync()
{//await 等待结束 过程必须有async关键字修饰 后面只能是void task task<t>
//1.过程内直接异步,返回obj
object obj= await Task. Run(() =>
{
Thread. Sleep( 2000);
return 2000;
});
ConsoleWriteLine( ""+obj);
//2.调用其他异步过程,返回obj
obj= await GetReturnResult();
ConsoleWriteLine( ""+obj);
}
async Task< object> GetReturnResult()
{
return await Task. Run(() =>
{
Thread. Sleep( 3000);
return "我是返回值3000";
});
}