我想弄清楚如何处理序列中的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 的方式来做到这一点吗?
谢谢
闪光