强制刷新到Observable.Buffer C# [英] Force flush to Observable.Buffer c#
本文介绍了强制刷新到Observable.Buffer C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有办法强制Observable.Buffer的缓冲时间结束前刷新
Is there any way to force a Observable.Buffer to flush before the end of buffered time?
在这个例子:
mSubscription = mFluxObservable.Buffer(新的TimeSpan(0,0,1,30))订阅。(O =>金丹(邻,iSessionId));
我想一时半期完成之前刷新数据!
I want to flush the data before the 1:30 period has finished!
推荐答案
这为我工作:
var subject = new Subject<Unit>();
var closing = Observable
.Timer(new TimeSpan(0, 0, 1, 30))
.Select(x => Unit.Default);
var query =
mFluxObservable
.Buffer(() => Observable
.Amb(subject, closing)
.Take(1));
现在我只需要调用 subject.OnNext(Unit.Default)
来强制缓存刷新。一个新的缓冲区冲洗后立即开始。
Now I only need to call subject.OnNext(Unit.Default)
to force the buffer to flush. A new buffer is started immediately after the flush.
这篇关于强制刷新到Observable.Buffer C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文