我有一个具有以下签名的方法:
public async Task<Result> CreateAsync(T entity)
{
try
{
await _c.CreateItemAsync(entity);
return Result.Ok();
}
catch (Exception e)
{
return Handle(e); // returns a `Result`
}
}
Run Code Online (Sandbox Code Playgroud)
_c 是ContainerCosmosDB 的。
现在,我有另一种方法是这样的:
public Task<Result> CreateUserAsync(User user)
{
var userEntity = new UserEntity { Id = user.Id, Name = user.Name };
return CreateAsync(userEntity);
}
Run Code Online (Sandbox Code Playgroud)
Result.Ok()是自定义类的一个非常简单的静态方法Result:
class Result
{
public static Result Ok() { return new Result(); }.
}
Run Code Online (Sandbox Code Playgroud)
因此,我有两种方法,一种是Task<Result> CreateUserAsync(User user),它返回一个简单的Task,而不等待其中的任何内容,但我最后调用的另一个任务return CreateAsync(userEntity);等待其中的内容。 …