私は非同期呼び出しを行うライブラリを使用しています。応答が返されると、結果とともにコールバック メソッドが呼び出されます。これは従うべき単純なパターンですが、私は今障害にぶつかっています。非同期メソッドを複数回呼び出して (ブロックせずに) 待機するにはどうすればよいですか? すべてのサービスからデータを取得したら、非同期メソッドによって返される 2 つ (またはそれ以上) の値を取得する独自のコールバック メソッドを呼び出したいと思います。
ここに従うべき正しいパターンは何ですか? ところで、ライブラリを変更して TPL などを使用することはできません... 私はそれと一緒に暮らす必要があります。
public static void GetDataAsync(Action<int, int> callback)
{
Service.Instance.GetData(r1 =>
{
Debug.Assert(r1.Success);
});
Service.Instance.GetData2(r2 =>
{
Debug.Assert(r2.Success);
});
// How do I call the action "callback" without blocking when the two methods have finished to execute?
// callback(r1.Data, r2.Data);
}