是否有必要等待单个异步调用
本文关键字:单个 异步 调用 等待 是否 | 更新日期: 2023-09-27 18:06:06
如果我返回单个异步函数的结果,例如在应用程序层之间的服务中,是否有以下区别:
public Task<byte[]> GetInsurancePolicyDocument(string itineraryReference)
{
return this.coreItineraryDocumentService.GetInsurancePolicyDocument(itineraryReference);
}
:
public async Task<byte[]> GetInsurancePolicyDocument(string itineraryReference)
{
return await this.coreItineraryDocumentService.GetInsurancePolicyDocument(itineraryReference);
}
在某些情况下有一些非常微妙的差异-例如,如果原始的Task
返回状态为Faulted
,但具有OperationCanceledException
,那么async
版本将返回状态为Canceled
的任务…但是,除非您确实需要这些微妙的东西,否则通常最好使用您的第一个代码,并避免包装它的(非常轻微的)开销。