我看到一些同事的代码,他选择不等待数据库调用直接返回任务。例如:
public Task<UpdateResult> AddActivityAsync(ClaimsPrincipal principal, Activity activity)
{
return _userManager.SaveToDatabaseAsync(principal, activity);
}
由于_userManager.SaveToDatabaseAsync
是异步的,我会这样实现
public async Task<UpdateResult> AddActivityAsync(ClaimsPrincipal principal,
Activity activity)
{
return await _userManager.SaveToDatabaseAsync(principal, activity);
}
这个方法的调用方法总是等待它:
await _profile.AddActivityAsync(..., ...)
不使用async方法,而只是返回Task并让调用者await它是否有任何好处?我认为我们必须一直写Async...