如果它不返回任何東西,是否需要等待異步任務函數?這會導致下面的代碼包裝在委託中,並在異步任務函數返回後執行?如果我不在意它的返回值,我應該等待「異步任務」函數嗎?
Task DoSomethingAsync()
{
return Task.Run(() =>
{
// Do something, but doesn't return values.
});
}
void Test()
{
DoSomethingAsync(); // should I await?
// Do other things, totally not related to the async function
Console.WriteLine("aaa");
}
在上面的例子中,如果我在等待測試(DoSomethingAsync()),將導致下面的代碼Console.WriteLine被包裹在委託和僅推遲執行時異步任務完成?
我看不出理由。 – Trey
如果你這樣調用它,它將同步運行。 – dcg
@dcg不,它不會。它會在它完成之前繼續。 – Servy