从 Web API 操作方法调用异步方法
本文关键字:调用 异步方法 操作方法 API Web | 更新日期: 2023-09-27 18:30:39
我正在从我的 Web API 操作方法调用一个异步方法,如下所示,但我收到"无法将类型任务员工隐式转换为员工"错误。
我需要做什么?
我的 Web API 操作方法如下所示:
public IHttpActionResult GetEmployee()
{
// Get employee info
Employee emp = myDataMethod.GetSomeEmployee();
return Ok(emp);
}
我调用的方法如下所示:
public static async Task<Employee> GetSomeEmployee()
{
Employee employee = new Employee();
// Some logic here to retrieve employee info
return employee;
}
我需要做什么才能调用此方法来检索员工信息?
附言GetSomeEmployee() 方法必须是异步的,因为它会进行其他异步调用来检索员工数据。
您需要同步调用该方法,或使用 await
. 例如:
同步(GetEmployee()
将阻止,直到GetSomeEmployee()
完成):
public IHttpActionResult GetEmployee()
{
// Get employee info
Employee emp = myDataMethod.GetSomeEmployee().Result;
return Ok(emp);
}
异步(GetEmployee()
将立即返回,然后在GetSomeEmployee()
完成后继续):
public async Task<IHttpActionResult> GetEmployee()
{
// Get employee info
Employee emp = await myDataMethod.GetSomeEmployee();
return Ok(emp);
}