Moh*_*din 1 .net c# asp.net .net-core asp.net-core
在我的代码postsVM中,类型为IEnumerable<Task<PostViewModel>>.
我怎样才能返回IEnumerable<PostViewModel>(没有Task)呢?
var postsVM = posts.Select(async p => new PostViewModel
{
PostId = p.Id,
PostContent = p.Content,
PostTitle = p.Title,
WriterAvatarUri = fileService.GetFileUri(p.Writer.Profile.AvatarId, Url),
WriterFullName = p.Writer.Profile.FullName,
WriterId = p.WriterId,
Liked = await postService.IsPostLikedByUserAsync(p.Id, userId),
LikesCount = await postService.GetPostLikesCountAsync(p.Id)
});
Run Code Online (Sandbox Code Playgroud)
IEnumerable<PostViewModel> results = await Task.WhenAll(postsVM);
Run Code Online (Sandbox Code Playgroud)
更准确地说,当所有传递给它的任务都完成时,Task.WhenAll(postVM)将返回一个Task<PostViewModel[]>完成的,所以等待然后PostViewModel[]你会得到一个你可以使用的类型,或者IEnumerable<PostViewModel>作为西装。
| 归档时间: |
|
| 查看次数: |
511 次 |
| 最近记录: |