public void GetAsyncTest() { InitializeClient(); var completion = new ManualResetEvent(false); client.GetAllBookmarks().Subscribe(result => { var a = result.ToList(); Console.WriteLine(result); completion.Set(); }); completion.WaitOne(); }
public IObservable <IEnumerable <Post> > GetAllBookmarks() { isAllLoaded = false; return(client.Update().SelectMany(lastModified => { //last sync以降に更新があったとき var lastSync = SettingsService.LoadSettingOrDefault <DateTime?>(Consts.LastSynkKey); if (!lastSync.HasValue || lastSync.Value.CompareTo(lastModified) < 0) { SettingsService.SaveSetting(Consts.LastSynkKey, DateTime.Now); return client.GetAllBookmarks() .Select(posts => { isAllLoaded = true; var ordered = posts.OrderByDescending(x => x.Time); RefreshPostItems(ordered); return SaveAndReturnItem(ordered); }); } else { isAllLoaded = true; return Observable.Empty <IEnumerable <Post> >(); } })); }