Задержка каждого элемента в наблюдаемом

#c# #.net #system.reactive #reactive-programming

#c# #.net #system.reactive #реактивное программирование

Вопрос:

Допустим, я хочу подписаться на наблюдаемый, но таким образом, чтобы подписчик получал элементы только через секунду после их запуска.

Есть ли простой способ добиться этого, кроме, например

.Subscribe(async _ => { await Task.Delay(1000); /* do something */ })

Я знаю Observable.Delay() , однако, похоже, что это относится только к первому элементу в последовательности.

Ответ №1:

Нет, я думаю Delay , это именно то, что вы ищете. Возможно, вы путаете это с Defer . Я уверен, что для написания быстрого теста или скрипта LINQPad потребовалось бы меньше времени, чем для создания вопроса в Stackoverflow.