remarks generate example c# async-await system.reactive

generate - params comments c#



Extensiones reactivas Suscribirse llamadas aguardan (1)

Quiero realizar una llamada asincrónica basada en cada evento planteado por un Observable Extensions Observable. También trato de mantener todo sincronizado porque quiero que la llamada asíncrona finalice antes de que se maneje el próximo evento.

¿Cómo se puede hacer algo similar a lo siguiente? Digo algo similar, ya que el siguiente código no se compila.

settingsChangedInMemory .Subscribe(async _ => { var settings = Extract(); await SaveSettings(settings); });

No estoy seguro si cambia algo, pero necesitaría Suscribirme a múltiples Observables. Por ejemplo, otra suscripción como esta.

settingsChangedOnDisk .Subscribe(async _ => { var settings = await ReadSettings(settings); Apply(settings); });

¿Cómo usarías las extensiones reactivas para hacer esto?


Qué tal si:

settingsChangedInMemory .SelectMany(async _ => await SaveSettings(Extract())) .Subscribe(x => Apply(x));

Nunca coloque una async en un Subscribe , siempre lo quiere poner en un SelectMany en SelectMany lugar.