我有一個從網上下載csv文件的功能。我需要擴展它,以便對2個網站依次進行2個呼叫。但是我不知道該怎麼辦呢?Rx Observable - 鏈接
繼承人的功能:
// Define other methods and classes here
private void GetCSVData(string url1, string url2)
{
WebClient webClient = null;
try
{
webClient = new WebClient();
var task = Observable.FromEventPattern
<OpenReadCompletedEventHandler, OpenReadCompletedEventArgs>
(
ev => webClient.OpenReadCompleted += ev,
ev => webClient.OpenReadCompleted -= ev
);
// needs to be redone
task.Subscribe(t => ParseCSV1(t.EventArgs.Result));
// call ParseCSV1()
// then call ParseCSV2()
// needs redone, 2 calls to 2 website
webClient.OpenReadAsync(new Uri(url1));
}
catch (WebException wex)
{
System.Diagnostics.Debug.WriteLine(wex.ToString());
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
}
}
private void ParseCSV1(Stream stream)
{
// Parse steps...
}
private void ParseCSV2(Stream stream)
{
// Parse steps...
}
您的代碼似乎不完整。你有'url1'&'url2'進來,但你用'url'調用'OpenReadAsync'。你的代碼目的不清楚。你能改善這個問題嗎? – Enigmativity 2012-03-23 00:12:03
將2個網址映射到2個可觀察對象,將這2個可觀察對象連接以獲得單個可觀察對象並訂閱它 – Ankur 2012-03-25 12:38:58