Search code examples
c#asynchronousasync-awaitvoid

Wait for an async void method


How can I wait for an async void method to finish its job?

For example, I have a function like below:

async void LoadBlahBlah()
{
    await blah();
    //...
}

Now I want to make sure that everything has been loaded before continuing somewhere else.


Solution

  • Best practice is to mark function async void only if it is fire and forget method, if you want to await on, you should mark it as async Task.

    In case if you still want to await, then wrap it like so await Task.Run(() => blah())