Observable.Interval 等待操作完成

JiZ*_*San 5 .net c# intervals system.reactive observable

Observable.Interval 每个时间段都会产生价值。如何让它在下一次迭代之前等到动作结束?

例子:

Observable.Interval(TimeSpan.FromSeconds(1)).Subscribe(async t => 
{
    //Here could be some long running action with different duration each iteration
    Console.WriteLine(t.ToString());
    await Task.Delay(3000);
});
Run Code Online (Sandbox Code Playgroud)

它将每秒开始动作。如何让它等到动作完成?

Jua*_*los -1

为什么不自己实现呢?在 while 循环或递归方法中使用TaskFactory.StartNew 。然后使用Task.Delay模拟工作