强制刷新到Observable.Buffer c#

leo*_*ana 4 c# buffer system.reactive c#-4.0

有没有办法强制Observable.Buffer在缓冲时间结束前刷新?

在示例中:

mSubscription = mFluxObservable.Buffer(new TimeSpan(0, 0, 1, 30)).Subscribe(o => saver(o, iSessionId));

我希望在1:30时段结束前刷新数据!

Eni*_*ity 9

这对我有用:

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));
Run Code Online (Sandbox Code Playgroud)

现在我只需要调用subject.OnNext(Unit.Default)强制缓冲区刷新.冲洗后立即启动新缓冲区.