Я хочу выполнить асинхронный вызов, основанный на каждом событии, поднятом Reactive Extensions Observable. Я также пытаюсь синхронизировать все, так как я хочу, чтобы асинхронный вызов завершился до того, как будет обработано следующее событие.
Как можно было бы сделать что-то похожее на следующее? Я говорю так же, как приведенный ниже код не компилируется.
settingsChangedInMemory
.Subscribe(async _ => {
var settings = Extract();
await SaveSettings(settings);
});
Я не уверен, что это что-то изменит, но мне нужно будет подписать несколько наблюдений. Например, другая подписка вроде этого.
settingsChangedOnDisk
.Subscribe(async _ => {
var settings = await ReadSettings(settings);
Apply(settings);
});
Как вы могли бы использовать Reactive Extensions?