我有两种
方法
public async Task<bool> DoSomething(CancellationToken.token)
{
//do something async
}
//overload with None token
public /*async*/ Task<bool> DoSomething()
{
return /*await*/ DoSomething(CancellationToken.None);
}
第二种方法是否应使用async / await关键字进行标记?
它不需要 – 如果在第二种
方法中使用等待/异步,那么
在这种情况下,您将
添加额外的开销,这不会完成任何操作.
DoSomething(CancellationToken)中的异步工作已经为您提供了适当的异步处理和封送回现有的上下文.
在一天结束时,异步等待真正只是语言功能,可以轻松创建和撰写任务.如果您已经有一个完美的任务返回,则不需要使用额外的语言支持来展开并将其重新包装成新的任务.