我遇到了以下代码,它使用 ContinueWith() 来等待结果。
public async Task<User> GetUser()
{
return await _serviceRepo.GetUserAsync()
.ContinueWith(task =>
{
return task.Result;
});
}
是否ContinueWith()
阻塞调用线程直到任务从GetUserAsync()
调用返回?
由于在task.Result
计划的 ContinueWith() 内,在等待前件时是否有任何阻塞task
?
我在其他几个地方看到过这种类型的代码,这是否被认为是异步/等待模式的最佳实践?我希望GetUserAsync()
调用返回结果而不是使用 aContinueWith()
等待它。