ale*_*tcl 11 c# asynchronous task-parallel-library async-await cancellation-token
我是这个async-await方法的新手C# 5.0,我脑子里几乎没有问题
async如果输入参数或null检查失败,那么转义方法的最佳方法是什么?
return;在Task async方法中使用的逻辑流程是什么(在某些情况下,它变成了无限循环)?
在这种情况下是更合适CancellationToken还是Task.Yield更合适?
public Func<AzureBlobInfo, string, Task> UploadSuccessCallBackAsync { get; set; }
private async Task OnUploadSuccessAsync(AzureBlobInfo info)
{
if (this.UploadSuccessCallBackAsync == null)
{
return;
}
var transactionType = this.FormData.Get("transactionType");
if (string.IsNullOrEmpty(transactionType))
{
transactionType = "unknown";
}
await this.UploadSuccessCallBackAsync(info, transactionType);
}
Run Code Online (Sandbox Code Playgroud)
i3a*_*non 12
"遇到一些问题失败"的最佳方法是恕我直言,但是return;如果你愿意避免例外,你肯定可以使用.
这将创建一个同步完成的已完成/故障任务,因此调用者await将使用完成的任务并继续使用相同的线程.
CancellationToken允许调用者取消操作,这与您描述的情况不同.
Task.Yield 它不会终止任何操作,只是让其他任务运行一段时间并重新安排自己以后再运行.
| 归档时间: |
|
| 查看次数: |
7469 次 |
| 最近记录: |