I have two following methods
public async Task<bool> DoSomething(CancellationToken.token)
{
//do something async
}
//overload with None token
public /*async*/ Task<bool> DoSomething()
{
return /*await*/ DoSomething(CancellationToken.None);
}
Should second method be marked with async/await keywords or not?
It doesn't need to - if you use await/async in the second method, you'll be adding extra overhead which accomplishes nothing, in this case.
The async work inside of DoSomething(CancellationToken)
will already provide the proper asynchronous handling and marshaling back to the existing context for you.
At the end of the day, async
and await
are really just language features which make it easy to create and compose a Task
. If you already have a perfectly good Task
to return, there is no need to use extra language support to unwrap and rewrap it into a new Task
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With