如何 运行 异步任务而不需要等待当前 function/thread 的结果?
How to run async task without need to await for result in current function/thread?
有机会避免等待吗?
我们想要的例子:
async Task SomeTask()
{
await ChildTask();
//Then something we want to be done without waiting till "Child Task" finished
OtherWork();
}
async Task ChildTask()
{
//some hard work
}
您不会被迫等待 异步Task
。如果您不 await
它,那是因为您不在乎它是否成功完成(即发即忘 方法)。
如果这样做,则不应在 method/delegate 签名中使用 async
关键字。
捕获 Task
,然后在 OtherWork
完成后等待它:
async Task SomeTask()
{
var childTask = ChildTask();
//Then something we want to be done without waiting till "Child Task" finished
OtherWork();
await childTask;
}
有机会避免等待吗? 我们想要的例子:
async Task SomeTask()
{
await ChildTask();
//Then something we want to be done without waiting till "Child Task" finished
OtherWork();
}
async Task ChildTask()
{
//some hard work
}
您不会被迫等待 异步Task
。如果您不 await
它,那是因为您不在乎它是否成功完成(即发即忘 方法)。
如果这样做,则不应在 method/delegate 签名中使用 async
关键字。
捕获 Task
,然后在 OtherWork
完成后等待它:
async Task SomeTask()
{
var childTask = ChildTask();
//Then something we want to be done without waiting till "Child Task" finished
OtherWork();
await childTask;
}