例如:
public void Destroy()
{
// 该如何调用 DestroyAll(), 保证该方法执行完成后再继续执行后续语句呢?
// 方法1: DestroyAll().GetAwaiter().GetResult(); // 这样可以吗?
// 方法2: var task = Task.Run(async () => await DestoryAll(); );
// task.Wait(); // 这样可以吗?
// 方法3: var tcs = self.DestroyAllWindow().GetAwaiter();
// while (!tcs.IsCompleted)
// {
// }
// 这样呢?
// 方法4: DestroyAll().Coroutine(); // 这样可以吗? 这句话的意思是在协程里执行, 不等待结果,
// // 继续执行后续语句?还是会堵塞在这里等待执行完成?
// 继续执行后续语句
this.A = 0;
this.B.Dispose();
}
public async ETTask DestroyAll()
{
// . . .
}