2016-08-11 117 views
3

當冒泡異步時,給定一個方法,其唯一目的是調用具有特定參數的另一個異步方法,以下哪一個是接受/首選模式,爲什麼?異步直通方法

async Task MyMethodAsync() => await MyOtherMethodAsync(1); 

Task MyMethodAsync() => MyOtherMethodAsync(1); 

回答

4

我寧願:

Task MyMethodAsync() => MyOtherMethodAsync(1); 

使用asyncawait實際上增加了不少開銷,以建立一個完整的狀態機,其中第二隻是一個簡單的方法調用。

如果您想添加異常處理,並且將堆棧跟蹤作爲本地方法或記錄異常,那麼使方法async本身具有唯一潛在優勢。

1

更喜歡後者,它不設置了一個額外的async狀態機僅做與它無關。