我有以下两种方法
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 关键字标记?
它不需要 - 如果你在第二种方法中使用await/async,你将增加额外的开销,在这种情况下什么也做不了。
里面的异步工作DoSomething(CancellationToken)
将已经为您提供正确的异步处理和编组回现有上下文。
归根结底,async
and await
实际上只是语言功能,可以轻松创建和编写Task
。如果你已经拥有一个完美的Task
返回,无需使用额外的语言支持来将其解包并重新包装为新的Task
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)