async
を使用せず、従来のスレッドとコールバックを使用するマルチスレッド ライブラリを使用しています。
var connection = new SomeLib();
connection.OnConnected += (x) => { /* This is called from separate thread */ }
connection.Connect();
async
次のように、関数からこのコードを呼び出しています。
public async Task<Boolean> MyFunc()
{
var connection = new SomeLib();
connection.OnConnected += (x) => { /* This is called from separate thread */ }
connection.Connect();
// ...
// Need to return after OnConnected has been fired.
return true;
}
await
コールバックが呼び出されるまで関数を「待機」させるにはどうすればOnConnected
よいですか?