为什么我不能在下面的块中使用await?
如果我在以下代码中使用await关键字,则VS抛出编译错误。
[ResponseType(typeof (ApiTableDetailDto))]
public async Task<IHttpActionResult> GetApiTable(int id)
{
var apiTable = await Mapper.Map<ApiTableDetailDto>(_unitOfWork.ApiTableRepository.GetById(id));
if (apiTable == null)
{
return NotFound();
}
return Ok(apiTable);
}
请提出建议。
答案 0 :(得分:0)
这个问题实际上已经被@ shf301回答了,但我想我会举一个关于如何在这种情况下等待的例子。
如果_unitOfWork
有异步方法,那么你可以这样做:
var response = await _unitOfWork.ApiTableRepository.GetByIdAsync(id);
var apiTable = Mapper.Map<ApiTableDetailDto>(response);