1. ホーム
  2. c#

[解決済み] voidの非同期メソッドを待機させる

2022-03-05 15:14:15

質問

を待つにはどうしたらいいのでしょうか? void async メソッドがその仕事を終えるまで?

例えば、以下のような関数があるとします。

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

さて、どこかで続ける前に、すべてがロードされたことを確認したいと思います。

どのように解決するのですか?

ベストプラクティスは、関数をマークすることです。 async void は、fire and forget メソッドの場合のみで、待ち時間が必要な場合は async Task .

それでもまだ await したい場合は、次のようにラップしてください。 await Task.Run(() => blah())