Estoy usando una biblioteca que realiza llamadas asíncronas y cuando se devuelve la respuesta se llama a un método de devolución de llamada con el resultado. Este es un patrón simple a seguir, pero ahora estoy golpeando un obstáculo. ¿Cómo hago múltiples llamadas a métodos asíncronos y espero (sin bloquear) para ellos? Cuando obtuve los datos de todo el servicio, me gustaría llamar a mi propio método de devolución de llamada que obtendrá los dos (o más) valores devueltos por el método asincrónico.Esperar múltiples devoluciones de llamada
¿Cuál es el patrón correcto a seguir aquí? Por cierto, no puedo cambiar la biblioteca para usar TPL o algo más ... Tengo que vivir con eso.
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);
}