オブザーバブル from イベントを使用して、Web サービスから最新の天気をダウンロードします。自宅の電話とエミュレーターでこれをテストしましたが、正常に動作します。私はプロジェクトを仕事に持ち込み、そこでエミュレーターを使用して実行しました。今はそれがファイアウォールなのか何なのかわかりませんが、天気が良くないようです。ただ永遠にそこに座って試しています。だから、これが電話で起こるとしたら、たとえば10〜15秒で天気を取得できない場合は、何らかのタイムアウトが必要であると考えるようになりました。
これまでのサンプルコードは次のとおりです
IObservable<IEvent<MyWeather.GetWeatherCompletedEventArgs>> observable =
Observable.FromEvent<MyWeather.GetWeatherCompletedEventArgs>(Global.WeatherService, "MyWeather.GetWeatherCompleted").Take(1);
observable.Subscribe(w =>
{
if (w.EventArgs.Error == null)
{
// Do something with the weather
}
});
Global.WeatherService.GetWeatherAsync(location);
何も起こらない場合、一定時間後に安全にタイムアウトするにはどうすればよいですか?