私はウェブからcsvファイルをダウンロードする機能を持っています。 2つのウェブサイトを1つずつ呼び出すように拡張する必要があります。しかし、私はそれを行う方法がわからないんだけど...Rx Observable - Chaining
相続機能です:
// 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
2つの観測点に2つのURLをマップし、観測可能なこれらの2つを連結して観測可能にし、 – Ankur