小编Fla*_*don的帖子

RX:如何处理序列中的 n 个缓冲项,然后在处理下 n 个项之前等待 t 秒?

我想弄清楚如何处理序列中的n 个缓冲项目,然后在处理下 n 个项目之前等待t秒?

这是我尝试做的粗略形式,使用 Thread.Sleep()。我想避免 Thread.Sleep() 并正确执行。

static void Main(string[] args)
{
    var t = Observable.Range(0, 100000);

    var query = t.Buffer(20);                       

    query.ObserveOn(NewThreadScheduler.Default)
        .Subscribe(x => DoStuff(x));

    Console.WriteLine("Press ENTER to exit");
    Console.ReadLine();

}

static void DoStuff(IList<int> list)
{
    Console.WriteLine(DateTime.Now);

    foreach (var value in list)
    {
        Console.WriteLine(value);
    }

    Thread.Sleep(TimeSpan.FromSeconds(10));
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我找到一种更 RX 的方式来做到这一点吗?

谢谢

闪光

c# system.reactive

4
推荐指数
1
解决办法
888
查看次数

标签 统计

c# ×1

system.reactive ×1