मैं एक लाइब्रेरी का उपयोग कर रहा हूं जो एसिंक्रोनस कॉल करता है और जब प्रतिक्रिया वापस आती है तो कॉलबैक विधि परिणाम के साथ बुलाया जाता है। यह पालन करने के लिए एक सरल पैटर्न है लेकिन अब मैं बाधा मार रहा हूं। मैं एसिंक्रोनस विधियों के लिए एकाधिक कॉल कैसे करूं और उनके लिए प्रतीक्षा कर रहा हूं (अवरुद्ध किए बिना)? जब मुझे सभी सेवाओं से डेटा मिला, तो मैं अपनी कॉलबैक विधि को कॉल करना चाहता हूं जो एसिंक विधि द्वारा दो (या अधिक) मान लौटाएगा।एकाधिक कॉलबैक के लिए प्रतीक्षा करें
यहां पालन करने के लिए सही पैटर्न क्या है? वैसे, मैं पुस्तकालय को टीपीएल या कुछ और उपयोग करने के लिए नहीं बदल सकता ... मुझे इसके साथ रहना है।
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);
}