我有一種情況,我想從多個來源異步流式傳輸相同類型的數據。數據結果應該在他們進入時出現。最簡單的方法是什麼?產量回報受阻,所以這不是我想要的。在下面的例子中,我想從源B輸出數據之前將數據從源A.並行產生來自多個來源的數據
List<string> GetComputerRecordsFromA(int computerId)
{
Thread.sleep(100);
return new List<Record> {"Record1","Record2","Record3"};
}
List<int> GetComputerRecordsFromB()
{
return new List<int> {"Record1","Record2","Record3"};
}
IEnumerable<List<int>> GetDataBlocks()
{
//How to yield out in the order data comes available??
var computerIds = new List<int> {1,3,99,4};
foreach(int id in computerIds)
{
yield return GetDataFromA();
yield return GetDataFromB();
}
}
第一個函數應該可能返回'List'? –
rwong