一般情况下,可以'Async method that returns result and Task”翻译为'返回值为Task的异步方法”。下面给出一个示例:
public async Task GetUserIdAsync(string userName)
{
var user = await _userRepository.GetUserByNameAsync(userName);
return user.Id;
}
在上述代码中,方法GetUserIdAsync
是一个返回Task
的异步方法。它首先调用了另一个异步方法GetUserByNameAsync
,并且使用await
关键字等待方法执行完毕后再继续执行下面的代码,最后返回用户的Id。
需要注意的是,在异步方法中,我们可以使用await
关键字等待异步操作完成,但是只有在返回Task
或Task
类型的方法中才可以这样做。如果方法不返回Task
类型,那么可以使用async void
来定义一个异步方法,但是需要额外小心异常处理等事项。