我正在使用一个可以进行异步调用的库,当返回响应时,将调用带有结果的回调函数。这是一种简单的模式,但我现在遇到了障碍。如何对多个异步方法进行多次调用并等待(无阻塞)它们?当我从所有服务中获得数据后,我想调用自己的回调方法,该方法将获得异步方法返回的两个或更多值。
在这里,应该遵循哪种正确的模式?顺便说一句,我不能更改使用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);
}