Luk*_*101 1 .net c# asynchronous async-await asp.net-web-api
我有一个async功能.有多个级别的函数调用都返回a Task.在这个链中的某个点上,我必须修改结果的值.我想这样做而不会中断async函数的流程.注意:
[HttpGet]
[Route("GetWeb")]
public async Task<IHttpActionResult> GetResult([FromUri] string url)
{
var result = await GetPageText(url);
return Ok(result);
}
private Task<string> GetPageText(string url)
{
Task<string> data = GetDataAsync(url);
//here I would like to manipulate the data variable
return data;
}
Run Code Online (Sandbox Code Playgroud)
在该函数中,GetPageText如何在不中断异步流的情况下操作数据变量.这可能吗?
您无法更改任务的值,您需要创建一个新的值.async这样做的方法是等待原始结果并将方法标记为async(只有当您需要原始任务的结果时才会这样):
private async Task<string> GetPageText(string url)
{
var result = await GetDataAsync(url);
return result + "bar";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1024 次 |
| 最近记录: |