我实现了一个在云上运行的服务。我有一个方法fastExcute()
,它可以非常快速地进行一些计算。
我需要向方法中添加一个调用IndependentBackgroundMethodAsync()
到其他可以在后台执行的方法,它在完成它的工作时并不重要,但它应该完成!最重要的是它将最终完成其工作
所以我想这样做:
fastExecute()
{
Task task = IndependentBackgroundMethodAsync();
//fast code
await t; < - could cause fastExecute not to be fast
}
另一方面,使代码成为:
fastExecute()
{
Task task = IndependentBackgroundMethodAsync();
//fast code
}
不承诺最终会执行IndependentBackgroundMethodAsync并完成其工作
做我需要的最佳做法是什么?
答案 0 :(得分:0)
如果您想异步执行IndependentBackgroundMethodAsync
,并且关心我将使用ContinueWith
的结果(请参阅MSDN continuewith)
任务完成后,将执行继续任务。
fastExecute()
{
Task task = IndependentBackgroundMethodAsync();
task.ContinueWith(result => // handle result);
//fast code
}