private void ObservableAsync() { entry.Unfocused += (sender, e) => { Itens.Clear(); var asyncStream = Observable.FromAsync(_ => ConsultaCEPService.ConsultarCEP(((Entry)sender).Text)); asyncStream //.Timeout(TimeSpan.FromSeconds(1.2)) //.Catch<ResultadoCEP, Exception>(ex => Observable.Return<ResultadoCEP>(null)) .ObserveOn(RxApp.MainThreadScheduler) .Subscribe(resultadoCEP => { if (resultadoCEP == null) { AdicionarItem("Erro"); } else { AdicionarItem(resultadoCEP.Endereço); } }); }; }
private async Task <ResultadoCEP> BuscarCEP(string cep) { Device.BeginInvokeOnMainThread(() => CEPsBuscados.Insert(0, cep)); return(await ConsultaCEPService.ConsultarCEP(cep)); }