24
非同期のTask <T>メソッドを同期的に実行するにはどうすればよいですか?
私は非同期/待機について学習していて、非同期メソッドを同期的に呼び出す必要がある状況に出くわしました。どうやってやるの? 非同期メソッド: public async Task<Customers> GetCustomers() { return await Service.GetCustomersAsync(); } 通常の使用法: public async void GetCustomers() { customerList = await GetCustomers(); } 私は以下を使ってみました: Task<Customer> task = GetCustomers(); task.Wait() Task<Customer> task = GetCustomers(); task.RunSynchronously(); Task<Customer> task = GetCustomers(); while(task.Status != TaskStatus.RanToCompletion) ここからも提案を試みましたが、ディスパッチャーが一時停止状態の場合は機能しません。 public static void WaitWithPumping(this Task task) { if (task …