同步异步调用的一些小问题
随着项目第一次真正接触、使用了同步和异步。记录一下有一些个人的赶脚:
.NET现在提供了一个很方便的功能: async, await。
1. 标识为了async的方法便是异步方法,该类方法的返回值只能是void或者Task<T>。(如:Task<bool> PingAsync();)
2. 当需要获得该异步方法的返回值的时候,在调用处必须要用await来标明:可以理解为等待这个异步方法的返回值。(如:var result = await _serverFacade.PingAsync();)
3. 方法内部标明了await的话,则该方法必须也是异步方法。
然后,那么最上层总有一个是同步方法吧?怎么处理呢?
1. AsyncCommand,可以将一个异步方法绑定到Command上
2. 异步方法.Result (如:var result = _serverFacade.PingAsync().Result;)
======================================================
对于ConfigureAwait(bool)