If an API returns a ValueTask
or ValueTask<T>
, is there a way to perform a ContinueWith
on it, like I'm able to do with Task
? Is there a Microsoft-provided NuGet library for doing so with .NET Standard 2.0?
Use valueTask.AsTask()
. AsTask()
is an escape hatch for just such use cases as yours. The purpose of ValueTask
is to avoid allocations whenever possible, but if you're going to invoke a continuation on another thread, you will need to allocate something and it might as well be a Task<T>
.