功能好像是一样的,async void 可以少写个 .Coroutine()
如果是因为兼容用在旧C#版本的话,ET6.0使用的是.net5.0,是不是可以忽略ETVoid了?
ETVoid是代替async void,意思是新开一个协程。ettask跟task一样。当然task不去await也相当于新开协程,但是编辑器会冒出提示,提示你await。所以新开协程最好用ETVoid。
https://et-framework.cn/d/46-ettask
https://github.com/egametang/ET/commit/dd6d3536e78e904876f611bb5da331e75636ddc5#diff-a8c7d45da02c26ee9b3a91845f9a3d9ee0b0a864743716399f6c7a475f03e88b
感谢,在 Git 历史记录中找到了答案
“用async ETVoid取代async void,避免使用async void。 async void,async ETVoid更简单,性能更好。 async ETVoid处理了async void无法捕获异常问题,async ETVoid会Log.Error(e),在AsyncETVoidMethodBuilder中SetException中处理”
自己试了下对 async void 的方法 Try catch,确实会直接中断无法异常处理